У меня есть существующий 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
Заранее благодарим.