ORACLE регулярное выражение Совпадение почтового домена с двумя или более символами - PullRequest
0 голосов
/ 30 марта 2020

Мне нужно иметь возможность принимать почтовые домены только с двумя или более символами, как показано ниже:

С моим настоящим регулярным выражением я проверяю домены только с одним символом, как a@b.com.

@([A-Z0-9]+(-[A-Z0-9]+)*\.){1,8}[A-Z]{2,63}$

Ожидаемые результаты:

"a@b.com" Not valid  (just one char after @)
"a@bb.com" Is Valid  (two chars after @)
"a@b-domain.com" Is valid  (two or more chars after @)

Все, что мне нужно, это изменить свое регулярное выражение, чтобы разрешить домены, которые начинаются как минимум с 2 символов.

Спасибо.

1 Ответ

0 голосов
/ 30 марта 2020

В качестве предложения в предыдущем вопросе для последнего выпуска вы можете использовать

@([A-Z0-9]+-)*[A-Z0-9]{2,}\.[A-Z0-9]{2,63}$
  • @ Совпадение буквально
  • ([A-Z0-9]+-)* 0+ повторений 1+ символов A-Z0-9, за которыми следует -
  • [A-Z0-9]{2,} совпадение 2 или более раз A-Z0-9
  • \.[A-Z0-9]{2,63} Совпадение с точкой и 2 -63 раза A-Z0-9
  • $ Конец строки

Regex demo

Чтобы разрешить дефис или знак подчеркивания Вы можете использовать класс символов:

@([A-Z0-9]+[_-])*[A-Z0-9]{2,}\.[A-Z0-9]{2,63}$

Regex demo

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