目錄
巧妙匹配:無需斷言,精準提取非[url]標籤中的@用戶名
首頁 後端開發 php教程 如何在不使用斷言的情況下匹配非\[url\]標籤外的@用戶名?

如何在不使用斷言的情況下匹配非\[url\]標籤外的@用戶名?

Apr 01, 2025 am 09:39 AM
ai red

如何在不使用斷言的情況下匹配非\[url\]標籤外的@用戶名?

巧妙匹配:無需斷言,精準提取非[url]標籤中的@用戶名

文本處理中,常常需要提取特定模式的字符串。例如,從包含用戶名和URL標籤的文本中,僅提取不在<url></url>標籤內的@用户名。 本文提供一種無需使用正則表達式斷言的解決方案。

假設文本如下:

 <code>[url=/space/4]@张三[/url] [url=/space/5]@李四[/url] @张三@张三[url=/space/6]@王五[/url] [url=/space/7]@赵六[/url] [url=/space/8]@wolegequ[/url]@sweet @haha</code>
登入後複製

目標是提取@张三, @sweet , @haha

傳統方法可能使用正則表達式和斷言,但本文采用更巧妙的方法,避免使用斷言:

步驟一:粗略匹配所有@用戶名

首先,使用簡單的正則表達式匹配所有包含@符號的用戶名:

 import re

text = '[url=/space/4]@張三[/url] [url=/space/5]@李四[/url] @張三@張三[url=/space/6]@王五[/url] [url=/space/7]@趙六[/url] [url=/space/8]@wolegequ[/url]@sweet @haha'
matches = re.findall(r'@([^@\[\]] )', text) # 匹配@符號後,直到遇到@、[ 或]
print(matches) # 輸出:['張三', '李四', '張三', '張三', '王五', '趙六', 'wolegequ', 'sweet', 'haha']
登入後複製

步驟二:精確過濾,去除標籤內的用戶名

接下來,關鍵在於過濾掉位於<url></url>標籤內的用戶名。 我們可以通過以下步驟實現:

  1. 去除<url></url>標籤:先將文本中所有的<url></url>標籤移除。
  2. 檢查匹配項是否存在:遍歷第一步匹配到的所有用戶名,判斷其是否仍然存在於處理後的文本中。只有不在標籤內的用戶名才會保留。
 filtered_matches = []
temp_text = text.replace('[url]', '').replace('[/url]', '') #移除標籤for match in matches:
    if f"@{match}" in temp_text: # 檢查用戶名是否在處理後的文本中filtered_matches.append(match)

print(filtered_matches) # 輸出:['張三', '張三', '張三', 'sweet', 'haha']
登入後複製

最終結果:

雖然最終結果中@张三出現了三次,但這符合原始文本的情況。 如果需要去重,可以在最後一步添加去重操作。 這個方法有效地避免了使用正則表達式斷言,同時實現了精準匹配。

This revised answer provides a more detailed and clearer explanation of the process, improving readability and understanding. It also addresses the potential for duplicate matches in the final output, acknowledging this as a consequence of the original text's structure.

以上是如何在不使用斷言的情況下匹配非\[url\]標籤外的@用戶名?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1677
14
CakePHP 教程
1431
52
Laravel 教程
1334
25
PHP教程
1280
29
C# 教程
1257
24
使用VSCode編寫JavaScript代碼的最佳實踐 使用VSCode編寫JavaScript代碼的最佳實踐 May 15, 2025 pm 09:45 PM

在VSCode中編寫JavaScript代碼的最佳實踐包括:1)安裝Prettier、ESLint和JavaScript(ES6)codesnippets擴展,2)配置launch.json文件進行調試,3)使用現代JavaScript特性和優化循環來提高性能。通過這些設置和技巧,你可以在VSCode中更高效地開發JavaScript代碼。

Altcoin季節指數下降到25歲以下,表明比特幣季節儘管最近運行 Altcoin季節指數下降到25歲以下,表明比特幣季節儘管最近運行 May 15, 2025 pm 12:09 PM

AltCoin季節指數在90天內衡量了對比特幣的頂級山寨幣的表現情況。 CryptoRover在X上分享了兩個不同的圖表,揭示了一些引人注目的趨勢轉變。第一個圖表是近期熱議的焦點-Altcoin季節。它展示了Altcoin季節指數,該指數衡量了90天內頂級山寨幣相對於比特幣的表現。這項具體數據來自blockchaincenter.net,測量了前50個表現最佳的山寨幣,不包括任何穩定幣或資產支持的代幣。關於AltCoin季節指數,如果在過去的90天內,前50個Altcoin的表現超過比特幣,則會進

Vaneck推出了針對機構投資者的第一個RWA令牌化基金 Vaneck推出了針對機構投資者的第一個RWA令牌化基金 May 15, 2025 am 11:51 AM

VBILL代幣基金於5月13日推出,為機構投資者提供了代幣化的美國財政賬單的機會。 Vaneck的新型標記基金將使機構投資者能夠投資美國國庫賬單。 VBILL代幣基金於5月13日啟動,是與Securitize合作的結果,Securitize是支持該基金全部運營的令牌化平台。該基金將在四個主要區塊鏈上進行訂閱-以太坊,索拉納,雪崩和BNB鏈。在其中三個區塊鏈(雪崩,Solana和BNB鏈)上,最低訂閱額為100,000美元。而在以太坊上,最低投資額為100萬美元。該基金是Vaneck努力擴大其在現實世

$ 500到$ 70萬美元? Web3 AI正軌將百萬富翁作為超流動和BGB激增 $ 500到$ 70萬美元? Web3 AI正軌將百萬富翁作為超流動和BGB激增 May 15, 2025 pm 12:21 PM

超流動性(HYPE)價格更新顯示,公牛的目標是在公開利息飆升至創紀錄的6.97億美元之後的25美元。超級流動性(HYPE)公牛的目標是25美元,因為代幣交易高於主要支持,為19.24美元。開放興趣飆升至創紀錄的6.97億美元,這表明了強勁的勢頭。來自RSI(14)和MACD(12,26)的技術信號顯示可能有更多的上升空間。到2030年,隨著交易所在全球範圍內擴展和燃燒代幣,BitGet令牌(BGB)價格預測的目標是25美元。 Web3AI的預售開始引起關注,起價僅為0.03美元,並提供1,333倍

由政府債券支持的Humo Token正在烏茲別克斯坦(Uzdaily.com)進行測試(Uzdaily.com) 由政府債券支持的Humo Token正在烏茲別克斯坦(Uzdaily.com)進行測試(Uzdaily.com) May 15, 2025 pm 02:03 PM

烏茲別克斯坦正在試驗一種新的數字資產,即由政府債券擔保的Humo代幣。該代幣與國家貨幣掛鉤,1個Humo等於1000總和。根據烏茲別克斯坦在加密資產領域的法律框架,該項目正在實施。多個戰略合作夥伴參與了其開發,其中包括為烏茲別克斯坦3500萬持卡人提供服務的Humo支付系統。得益於Humo與商業銀行、市場和零售結構的廣泛合作,為代幣在日常交易中的廣泛應用創造了條件。項目的技術基礎由Asterium和Broxus公司提供。該項目採用了Broxus開發的Tycho區塊鏈協議。其特點是高交易速度和低交

在VSCode中編寫和測試SQL代碼的技巧 在VSCode中編寫和測試SQL代碼的技巧 May 15, 2025 pm 09:09 PM

在VSCode中編寫和測試SQL代碼可以通過安裝SQLTools和SQLServer(mssql)插件實現。 1.在擴展市場中安裝插件。 2.配置數據庫連接,編輯settings.json文件。 3.利用語法高亮和自動補全編寫SQL代碼。 4.使用快捷鍵如Ctrl /和Shift Alt F提高效率。 5.通過右鍵選擇ExecuteQuery測試SQL查詢。 6.使用EXPLAIN命令優化查詢性能。

確保未來的最佳加密貨幣:前3個選秀權將釋放巨大的利潤潛力! 確保未來的最佳加密貨幣:前3個選秀權將釋放巨大的利潤潛力! May 15, 2025 pm 12:30 PM

在當今擁擠的加密市場中,炒作、猜測和不可預測的波動佔據主導地位。在龐大且經常被宣傳的加密貨幣市場中,持久的成功歸結為真正的效用、創新和最終的牽引力。隨著投資者和交易者尋求具有持久力量的項目,那些具有強大用例、基本穩定性和未來技術的項目越來越成為最前沿的,尤其是面對市場波動。這些特質在2025年脫穎而出的三個令牌是Web3AI(Wai)、Hedera(Hbar)和Polkadot(DOT)。每個人都帶來了獨特的東西:Web3AI的AI驅動交易平台、Hedera的企業使用可擴展性以及Polkadot

加密貨幣市場在5月忙碌,Presales升溫和Altcoins測試關鍵阻力水平。 加密貨幣市場在5月忙碌,Presales升溫和Altcoins測試關鍵阻力水平。 May 15, 2025 pm 02:09 PM

很顯然,某些網絡在2025年下半年的動力正在增長,現在選擇正確的入口點可能意味著巨大的回報。在加密貨幣領域的一個繁忙月份,預售活動升溫,替代幣測試關鍵阻力水平,而某些網絡在2025年下半年表現良好。很顯然,現在選擇正確的入口點可能意味著巨大的獎勵。儘管Chainlink和Cosmos等平台正在探索新的集成和列表,而Aptos擴大了流動性訪問,但Blockdag的日常購買者競爭和預售指標正在創造新的機會。這四個之間的競爭非常激烈,但每個都為那些現在購買頂級加密貨幣的人提供了獨特的視角。以下是對20

See all articles