Регулярное выражение не равно строке - PullRequest
26 голосов
/ 03 июня 2010

Я бьюсь головой о стену с регулярным выражением лица. Я пытаюсь определить выражение, которое исключает именно этот текст «Система» (без учета регистра), но может содержать слово «Система», если это не просто так.

Примеры:

  • Система == НЕВЕРНО
  • СИСТЕМА == НЕВЕРНЫЙ
  • система == НЕВЕРНО
  • syStEm == НЕВЕРНЫЙ
  • asd SysTem == Действительный
  • asd System asd == Действительный
  • Системный asd == Действительный
  • asd System == Действительный
  • asd == Действительный

Ответы [ 3 ]

50 голосов
/ 03 июня 2010

Попробуйте это:

^(?!system$)

Или это соответствует всей строке:

^(?!system$).*$

У регулярного выражения в начале отрицательный прогноз, который не совпадает, если "system" - вся строка.

4 голосов
/ 03 июня 2010

Отклонить, если оно соответствует ^system$ (убедитесь, что флаг i включен).

1 голос
/ 03 июня 2010
^$|^.{1-5}$|.{7}|^[^s]|^.[^y]|^..[^s]|^...[^t]|[^e].$|[^m]$ 

Но используйте ответ амаргоша, если можете.

(обновлено согласно предложению ниже)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...