Соответствие инвертирования с regexp [дубликат]

Используйте yyyy вместо YYYY.

Ссылка .

28
задан Joe Beda 5 June 2009 в 18:46
поделиться

5 ответов

Хорошо, я усовершенствовал свое регулярное выражение на основе решения, которое вы придумали (которое ошибочно совпадает со строками, начинающимися с «test»).

^((?!foo).)*$

Это регулярное выражение будет соответствовать только строкам, которые не содержат foo. Первый запрос запретит строки, начинающиеся с 'foo', а второй убедится, что foo не найден в других местах строки.

51
ответ дан Daniel Vandersluis 14 October 2019 в 10:46
поделиться
2
ответ дан Community 14 October 2019 в 10:46
поделиться

Создайте выражение, которое соответствует, и используйте! Match () ... (логическое отрицание) Это, вероятно, так или иначе делает grep ...

-1
ответ дан PhiLho 14 October 2019 в 10:46
поделиться

На основе ответа Дэниела, я думаю, у меня есть кое-что, что работает:

^(.(?!test))*$

Ключ в том, что вам нужно сделать отрицательное утверждение для каждого символа в строке

4
ответ дан 28 November 2019 в 03:03
поделиться

Это действительно почти дубликат. Думаю, вы ищете регулярное выражение

(?! foo). *

1
ответ дан 28 November 2019 в 03:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: