У меня есть текущее регулярное выражение / ^ [A-Za-z- '] + $ /. Я хотел бы сохранить вышеуказанное, но не выполнить / исключить, если в строке, окруженной пробелами, есть слово «привет».

0
Dan Pettis 2 Мар 2021 в 06:15

1 ответ

Лучший ответ

Самым быстрым решением здесь было бы просто добавить утверждение отрицательного просмотра вперед в начале шаблона, которое исключает hello как отдельное слово:

/^(?!.*\bhello\b)[A-Za-z' -]+$/

Также обратите внимание, что я переместил тире - в конец вашего класса персонажа. Текущее регулярное выражение:

/^[A-Za-z-' ]+$/

Фактически говорит взять все символы в диапазоне от z до ', что, вероятно, не то, что вы здесь намеревались.

Для версии без учета регистра вы можете использовать флаг /i:

/^(?!.*\bhello\b)[A-Z' -]+$/i

Обратите внимание, что класс символов теперь не должен перечислять строчные буквы, поскольку они уже будут включены.

2
Tim Biegeleisen 2 Мар 2021 в 03:26