Нужен синтаксис для добавления проверки строки суффикса в проверку формата адреса электронной почты Regex - PullRequest
0 голосов
/ 04 сентября 2018

У меня есть существующий Regex для проверки адреса электронной почты, и я ищу дополнительную функцию Regex, которая также НЕ будет соответствовать, если образец заканчивается на .ocm .
Причиной этого запроса является дополнительная проверка ввода данных для предотвращения наиболее распространенной опечатки, с которой мы сталкиваемся: .ocm вместо .com .

Например, blah@somewhere.com должно возвращать совпадение, а blah@somewhere.ocm не должно.

Боюсь, я не знаю, какой вариант Regex я использую, поскольку он находится в проприетарном приложении «черный ящик», которое «принимает Regex» для проверки пользовательского ввода. Я знаю, что приложение, вероятно, написано на VB6, если это вообще помогает.

Вот существующее регулярное выражение, которое хорошо работает по назначению:


^(?=[a-zA-Z0-9][a-zA-Z0-9@._%+-]{5,253}$)[a-zA-Z0-9@._%+-]{1,64}@(?:(?=[a-zA-Z0-9-]{1,63}\.)[a-zA-Z0-9]+(?:-[a-zA-Z0-9]+)*\.){1,8}[a-zA-Z]{2,63}$

Образец всегда будет строкой с длиной больше нуля, поэтому не имеет значения, не обработаны ли они.

Кажется, что отрицательный взгляд за в конце Regex должен быть лучшим методом, но я не могу найти правильный синтаксис, чтобы это работало с моим существующим Regex. Вот некоторые методы, которые могут сработать, если кто-то может подсказать, как интегрировать их с моим существующим Regex:

https://stackoverflow.com/a/406408/6195684

https://code.i -harness.com / ru / q / fa3887

https://stackoverflow.com/a/11432373/6195684

Заранее благодарим.

1 Ответ

0 голосов
/ 04 сентября 2018

Просто добавьте отрицательный прогноз, как показано ниже:

(?!.*[.]ocm$)

Это является исходным регулярным выражением.

Этот является модифицированным регулярным выражением.

...