多个特定域电子邮件地址的正则表达式(已分隔)

时间:2015-03-26 13:07:16

标签: regex email expresso

美好的一天,

我正在寻找能够验证以下电子邮件地址的正则表达式:

a@domain.com,b@do​​main.com

到目前为止,我有这个:

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

在以下情况下不应返回任何内容:

a@domain.comb@domain.com     or

a@domain.com b@domain.com
  1. 如果输入; ,也应返回结果。
  2. 另外,有没有办法确保只有在返回结果时才会返回 地址中有一个 @
  3. 任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

您正在寻找的正则表达式是^(?>\b[\w+-.%]+@domain\.com(?:[,;]\s*)?)+\b$

我正在使用atomic grouping (?>...),因此不会创建任何反向引用。

结果如您所要求:a@domain.com, b@domain.com

还使用Expresso进行了测试。