Мне нужно проверить ввод пользователя, который может содержать круглые скобки, слово «или» и слово «и».Как создать регулярное выражение для проверки выражения пользователя, которое включает в себя некоторые команды?
Правила просты:
1- Скобки можно использовать в любом месте, но открывающие скобки должно быть закрытие один (я мог бы подтвердить эту часть с кодом). 2- Выражение никогда не должно заканчиваться на «или» или «и» внутри блока. Например:
Джон и Джейн -> OK
Джон и -> NOT OK
(Джон и) -> NOT OK
Джон или -> NOT OK
(Джон или) -> НЕ ОК
Так оно всегда:
[Дополнительные скобки] WORD [Возможность работы и или] [Необязательно] Скобки
Я придумал это, но это не достаточно, но это начало.
\b\w.*(?=or|and).*\w
Это работает для содержания со скобками
Примечание: Я не забочусь о количестве пробелов между словами.
Пользователь может комбинировать эти блоки выражения несколько раз.
Have A посмотрите на ''^\ w + (?: \ s + (?: или | и) \ s + \ w +) * $ '] (https://regex101.com/r/gD8eW5/1). Вместо '\ w +' вы можете иметь '(?: John | Jane)'. –
Если должны быть необязательные круглые скобки: ['^ \ (? \ W + (?: \ S + (?: Или | и) \ s + \ w +) * \)? $'] (Https://regex101.com/r/gD8eW5/2). –