2017-08-02 38 views
-1

當嘗試使用正則表達式來捕捉某些單詞時,我遇到了問題。如何完全匹配列表中的單詞

Regexr鏈接:http://regexr.com/3gfr4

My Regex

我用\b(menu|mes|close|set)\b趕上菜單,MES,關閉,設置。它工作正常。但像上面的圖片它抓menu[email protected]。當我開始使用@時,我不需要抓住這個詞。

我嘗試將正則表達式更改爲\b^(menu|mes|close|set)\b。但工作不正確。

任何人都知道如何解決這個問題,謝謝!

+0

做什麼? – Toto

+0

語言是什麼?你是在提取文本還是替換? –

+0

你說「單詞列表」,列表在哪裏?圖案如何形成?你的最終目標是什麼? –

回答

0

如果你只希望這些單詞在行首,那麼你改變它是更正等。你缺少的是m(多行)標誌你想趕上他們,只有當用空格包圍

/^\b(menu|mes|close|set)\b/gm 

http://regexr.com/3gfr7

0

1)改變與空間的串繞:

$str = " $str "; 

2)更改正則表達式:

\s(menu|mes|close|set)\s 
0

如果你想只用空格或字符串beginng或結束包圍字:

(?:^|\s)(menu|mes|close|set)(?:\s|$) 
相關問題