2016-09-16 64 views
1

我需要搜索詞strong但不strongman如何搜索不以另一個單詞結尾的單詞?正則表達式

例如:

strong fs asfa strong saff strongman sa strong 

正則表達式應該返回3場比賽。

我已經嘗試了不同的事情:

1.

"<(strong)(man){0}>" 

2.

"<(strong)(man.*){0}>" 

我所試圖做的是搜索單詞這是之後沒有男子

有什麼建議嗎?謝謝

+0

您正在使用哪種正則表達式引擎? – hek2mgl

+0

@ hek2mgl謝謝你的評論,我使用php – david

+0

你應該使用正則表達式字邊界'\ b(強)\ b' – gihan

回答

1

你只需要\b

使用\bstrong\b

觀看演示。 https://regex101.com/r/jX1rN4/3

編輯:

新病症使用

\bstrong(?!man\b) 

觀看演示。 https://regex101.com/r/jX1rN4/4

這可以作爲

\b是單詞邊界,檢測strong而不是asbdstring

然後strong後,我們增加了一個lookahead說明不應該有man(再次\b,這樣可以有mann

+0

謝謝你的回答,但這是行不通的,因爲它不會返回強如果它後面跟着不是人的詞,例如「strongb」 – david

+0

謝謝你的回答,我看到它的工作,你能解釋你的正則表達式是如何工作的。謝謝 – david

+0

@david check編輯 – vks

相關問題