2016-01-21 134 views

回答

2

正在測試這一點,你需要使用一個回顧後

(?<[email protected])(somestring|someotherstring) 

([email protected])先行將檢查以下符號不是@

一些more details

回顧後具有同樣的效果[VS:如先行],但逆向運作。它告訴正則表達式引擎在字符串中暫時退後一步,以檢查lookbehind內部的文本是否可以在那裏匹配。 (?<!a)b與前ab相匹配,使用負後視。它不匹配cab,但與beddebt中的b(和僅b)匹配。

負向lookbehind寫爲(?<!text),使用感嘆號而不是等號。

+0

救命恩,謝謝! – Adam

+0

我有另一個類似的問題,我的正則表達式看起來像這樣的'^(\ s *)USE(\ [?)(?<![master | \ $])(。)+(\]?)' - 我應該發佈一個新的問題呢? – Adam

+1

是的,這應該是一個新問題。我看到了太多的問題。不要忘記描述它有什麼問題,以及一些輸入樣本字符串和預期輸出。不要要求解釋正則表達式的含義。 –