Сопоставление строки, которая не содержит определенного текста с регулярными выражениями
Я хочу сделать следующее с регулярными выражениями, но не уверен, как это сделать. Я хочу, чтобы он соответствовал one two
, когда one two
является началом строки, если строка не содержит three
где-нибудь после one two
.
Ответы
Ответ 1
Вам нужно отрицательное утверждение lookback - что-то вроде этого:
/^one two(?!.*three)/m
Здесь учебник по утверждениям lookahead/lookbehind
Примечание. Я добавил модификатор 'm', чтобы ^ соответствовал началу строки, а не началу всей строки.
Ответ 2
^one two(?!.*three)