需要有關正規表示式的建議

需要有關正規表示式的建議

我正在為一個問題而絞盡腦汁,但我無法找到合適的解決方案。問題:寫一個正規表示式來匹配文字中所有出現的不同字元或單字。文本順序應該是這樣的:

pl 播放器

我試過了

(pl|播放|玩家)

但由於某種原因它只會選擇所有單字中的 pl 。那麼有人知道為什麼會這樣嗎?

連結到正規表示式101

任何幫助將不勝感激。

答案1

當您尋找替代品時,如果它們具有/以常見字元開頭,請從最長的單字開始到最短的單字。由於plplayplayer全部以 開頭pl,只有pl(作為第一個替代項)匹配。play並且player不被考慮。

你的正規表示式應該是(player|play|pl)

在這種情況下,首先對這些單字進行測試/比較player,然後與「play如果player未找到」進行測試/比較,最後與「pl如果未找到其他兩個單字」進行測試/比較。

答案2

您需要指定貪婪匹配,因此.*在正規表示式的末尾添加,如下所示: (pl|play|player).*

使用貪婪匹配時必須小心,因為最終匹配的數量可能會超出您的預期。

相關內容