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

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

Примеры:

  • Система == НЕДОПУСТИМЫЙ
  • СИСТЕМА == НЕДОПУСТИМЫЙ
  • система == НЕДОПУСТИМЫЙ
  • система == НЕДОПУСТИМЫЙ
  • asd SysTem == Допустимый
  • Система asd asd == Допустимый
  • Система asd == Допустимый
  • Система asd == Допустимый
  • asd == Допустимый
27
задан Kieron 3 June 2010 в 09:26
поделиться

3 ответа

Попробуйте так:

^(?!system$)

Или так, чтобы подобрать всю строку:

^(?!system$).*$

У этого регекса отрицательное начало, которое не подходит, если "system" - это вся строка.

53
ответ дан 28 November 2019 в 04:52
поделиться
^$|^.{1-5}$|.{7}|^[^s]|^.[^y]|^..[^s]|^...[^t]|[^e].$|[^m]$ 

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

(обновлено в соответствии с предложением ниже)

1
ответ дан 28 November 2019 в 04:52
поделиться

Отклонить, если он соответствует ^ system $ (убедитесь, что флаг i ВКЛЮЧЕН).

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

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