Подтвердить что ты не робот

Regex не равно строке

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

Примеры:

  • Система == INVALID
  • SYSTEM == INVALID
  • system == INVALID
  • syStEm == INVALID
  • asd SysTem == Действительный
  • asd System asd == Действительный
  • Система asd == Действительна
  • asd System == Действительный
  • asd == Valid
4b9b3361

Ответ 1

Попробуйте следующее:

^(?!system$)

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

^(?!system$).*$

Регулярное выражение имеет отрицательный внешний вид в начале, что не соответствует, если "система" - это вся строка.

Ответ 2

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

Ответ 3

^$|^.{1-5}$|.{7}|^[^s]|^.[^y]|^..[^s]|^...[^t]|[^e].$|[^m]$ 

Но используйте amarghosh, если можете.

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