соответствие строки, которая не содержит определенный текст с регулярными выражениями - PullRequest
10 голосов
/ 12 января 2009

Я хочу сделать следующее с регулярными выражениями, но не уверен, как это сделать. Я хочу, чтобы он совпадал с one two, когда one two является началом строки, если строка не содержит three где-либо после one two.

Ответы [ 2 ]

14 голосов
/ 12 января 2009

Вам нужно отрицательное прогнозное утверждение - что-то вроде этого:

/^one two(?!.*three)/m

Вот учебное пособие по утверждениям lookahead / lookbehind

Примечание: я добавил модификатор 'm', чтобы ^ соответствовал началу строки, а не началу всей строки.

4 голосов
/ 12 января 2009
^one two(?!.*three)
...