2012-05-28 82 views
37

我需要匹配其所有包含值並且沒有給定前綴的行。正則表達式匹配沒有給定前綴的特定字符串

例子: 我想包含word當它不是由prefix

所以前綴的所有行:

foobar -> no match 
prefix word -> no match 
prefix word suffix -> no match 
word -> MATCH 
something word -> MATCH 

我試過到目前爲止:

(?!prefix)word 

隱而不宣」 t似乎做我想要的東西

回答

48

您可能需要

(?<!prefix)word 

(也許照顧空間)。

(?!)是一種負面看向,但在你的情況下,你需要一個負面向後看(即(?<!))。

+0

這將錯誤地匹配行「前綴另一個詞」。該問題指定該行以前綴開頭幷包含「單詞」,但沒有說「單詞」總是緊跟在「前綴」之後。 –