Я знаю три вещи ...Как инвертировать строку в регулярном выражении
1) Я знаю, что:
a.{1,250}?z
будет проверить, что находится в пределах 250 символов г.
2) Я знаю, что
a[^b]{1,250}?z
будет проверить, что находится в пределах 250 символов г, но ни один из этих символов не б.
3) Я знаю, что
a[^bad]{1,250}?z
будет проверить, что находится в пределах 250 символов г, но ни один из этих символов не Ь, а, или d.
но
4)
Как ничего себе я бы проверить, что происходит в пределах 250 символов г, но это слово плохое не появляется между ними?
Воображая «строка» требуется точное совпадение (например, в поиске Google) псевдо-код будет выглядеть следующим образом:
a[^"bad"]{1,250}?z
Это идеальный вариант. – COMisHARD
Не точно * regular * (lookaheads - это расширение), но я не уверен, что это может быть технически решено с помощью чистых регулярных выражений ... Итак, вы получаете +1 от меня :) – Sebivor
@Seb, отрицательный взгляд может быть полностью решен с обычным регулярным выражением, но в общем случае регулярное выражение, которое соответствует точному набору строк, намного сложнее исходного. В этом причина расширения. Легко продемонстрировать с помощью конечных автоматов, но вне времени и пространства здесь. –