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

У меня есть существующее регулярное выражение, которое проверяет поле ввода электронной почты.

[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-zA-Z0-9!$%&'*+/=?^_`{|}~-]+)*(\\.)?@(?:[a-zA-Z0-9ÄÖÜäöü](?:[a-zA-Z0-9-_ÄÖÜäöü]*[a-zA-Z0-9_ÄÖÜäöü])?\\.)+[a-zA-Z]{2,}

Теперь я хочу, чтобы это регулярное выражение не совпадало для двух конкретных типов идентификаторов электронной почты.Это wt.com и des.net

. Для этого я внес следующие изменения в вышеприведенное выражение следующим образом:

[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-zA-Z0-9!$%&'*+/=?^_`{|}~-]+)*(\\.)?@(?!wt\\.com)(?!des\\.net)(?:[a-zA-Z0-9ÄÖÜäöü](?:[a-zA-Z0-9-_ÄÖÜäöü]*[a-zA-Z0-9_ÄÖÜäöü])?\\.)+[a-zA-Z]{2,}

После этого он не совпадает ни с одним идентификатором электронной почты, который заканчивается на wt.com и des.net, что правильно.Но проблема в том, что он не совпадает с wt.comm или любым другим письмом после запрещенной строки. Я просто хочу ограничить электронную почту, которая заканчивается на wt.com и des.net Как я это сделал?Ниже приведены примеры электронных писем, которые должны совпадать или не совпадать.

  1. ajcom@wt.com: нет совпадения
  2. ajcom@aa.an: совпадение
  3. ajcom @ wt.com: совпадение
  4. ajcom@des.net: отсутствие совпадения
  5. ajcom@des.neta: совпадение

1 Ответ

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

Если вы хотите запретить только wt.com и des.net, у которых нет символов после него, вы можете добавить $ anchor (который представляет конец строки) в конце каждого негативного взгляда- вперед.

Так что вместо (?!wt\\.com)(?!des\\.net) используйте (?!wt\\.com$)(?!des\\.net$)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...