Регулярное выражение для нескольких адресов электронной почты конкретного домена (разделенных)

Добрый день,

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

a@domain.com, b@domain.com

Пока у меня есть это:

^([\w+-.%]+@domain\.com,?\s*)+$

Он не должен ничего возвращать в случае:

a@domain.comb@domain.com     or

a@domain.com b@domain.com
  1. Он также должен возвращать результат, если a ; введен
  2. Кроме того, есть ли способ гарантировать, что результат будет возвращен, только если в адресе есть один символ @?

Любая помощь будет оценена.

1 ответ

Решение

Регулярное выражение, которое вы ищете ^(?>\b[\w+-.%]+@domain\.com(?:[,;]\s*)?)+\b$,

Я использую атомную группировку с (?>...) так что никаких обратных ссылок не создается.

Результат по вашему запросу: a@domain.com, b@domain.com

Также протестировано с Expresso.

Другие вопросы по тегам