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

Regular Expression for multiple specific-domain email addresses (separated)

美好的一天,

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

a@domain.com, b@domain.com

到目前为止,我有这个:

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

在以下情况下不应该 return 任何东西:

a@domain.comb@domain.com     or

a@domain.com b@domain.com
  1. 如果输入 ;,它也应该 return 结果。
  2. 另外,有没有办法确保结果 return 只有在 地址中有一个 @?

如有任何帮助,我们将不胜感激。

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

我将 atomic grouping(?>...) 一起使用,因此不会创建反向引用。

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

还使用 Expresso 进行了测试。