2012-05-28 17 views
37

Devo corrispondere a tutte le sue righe che contengono un valore e che non hanno un prefisso specifico.Regex per far corrispondere stringhe specifiche senza un prefisso dato

Esempio: voglio tutte le linee che contengono word quando non è preceduto da prefix

Quindi:

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

Quello che ho provato finora:

(?!prefix)word 

doesn' t sembra di fare quello che voglio

risposta

48

Potrebbe essere necessario

(?<!prefix)word 

(e magari occuparsi degli spazi).

(?!) è un aspetto negativo, ma nel tuo caso è necessario un lookbehind negativo (ad esempio (?<!)).

+0

Ciò corrisponderà in modo errato alla riga "prefisso un'altra parola". La domanda specificava che la linea iniziava con il prefisso e conteneva "parola" ma non diceva "parola" sempre seguita immediatamente "prefisso". –

Problemi correlati