#regex
#регулярное выражение
Вопрос:
регулярное выражение не должно начинаться с ‘the’ или заканчиваться ‘form’.Ввод может содержать ключевое слово «the» или заканчиваться на «form», некоторые входные данные могут содержать оба или форма отсутствует.
например:
the test3211 form - not valid
the test22 - not valid
test34 - valid
test55 form - not valid
До сих пор я пробовал регулярное выражение: ^the.*form$
Комментарии:
1. Пожалуйста, укажите, на каком языке вы ищете регулярное выражение? Также, пожалуйста, добавьте свои усилия в виде кода в свой вопрос, что настоятельно рекомендуется на SO, спасибо.
2. @Hetal Thaker Да. должны встречаться либо «the», либо «form», либо нет.
Ответ №1:
Вы можете попробовать
^(?=the.*form$|(?!the|.*form$)).*$
^(?=...)
позитивный взгляд в будущее, проверка формы в началеthe.*form$
либо строка начинается сthe
и заканчиваетсяform
|(?!the|.*form)
или строка не начинается иthe
не заканчиваетсяform
Смотрите Доказательство
Редактировать
Если вы хотите, чтобы ни один из них не отображался, было бы намного проще, попробуйте
^(?!the|.*form$).*$
(?!the|.*form$)
строка не должна ни начинаться,the
ни заканчиватьсяform
Проверьте доказательство
Комментарии:
1. форма test55 — сбой, фонд — сбой
2. Разве не
test55 form
предполагается, что оно не должно проходить? Или вы имеете в видуtest55 form - failed the fund
? Оно не начинаетсяthe
и не заканчивается,form
поэтому оно должно пройти? Я в замешательстве3. из моего вопроса допустим только test34. смотрите мой пример из вопроса.
4. Но вы также указаны
the test3211 form - valid
как действительные5. о, я просто обновляю example..it это была моя ошибка.
Ответ №2:
Вам понадобятся привязки и поисковые решения:
^(?!theb)(?!.*bform$). $
Смотрите демонстрацию на regex101.com .
Ответ №3:
Предполагая, что я правильно понял ваш вопрос.
- Строка не может начинаться с ‘the’ или заканчиваться ‘form’
- Строка может содержать «the» или «form» внутри строки
После некоторого быстрого тестирования я пришел к следующему:
^(?!the).*(?<!form)$
По сути, при этом используется отрицательный прогноз, чтобы исключить любую строку, начинающуюся с ‘the’
Затем он сопоставляет любое количество символов, пока, наконец, не использует отрицательный взгляд назад, чтобы исключить любую строку, заканчивающуюся на ‘form’
Все эти концепции объясняются в https://en.wikipedia.org/wiki/Wikipedia:AutoWikiBrowser/Regular_expression
Также проверьте regex101.com для тестирования ваших регулярных выражений.