正则表达式中的电子邮件之间应留空格

时间:2019-07-15 21:30:39

标签: java regex email

我正在使用此正则表达式验证电子邮件,例如“ email1@domain.com”:

^[a-zA-Z0-9_+&*-]+(?:\\.[a-zA-Z0-9_+&*-]+)*@(?:[a-zA-Z0-9-]+\\.)+[a-zA-Z]{2,7}$

现在,我需要验证电子邮件是否包含空格,以允许多个电子邮件,例如:“ email1@domain.com email2@domain.com email3@domain.com email4@domain.com”

是否有任何改进或帮助? 这是针对Java的。 注意:由于我使用JSON SCHEMA验证来验证JSON字段,因此我需要一个正则表达式,我无法验证每封电子邮件的电子邮件。

^[a-zA-Z0-9_+&*-]+(?:\\.[a-zA-Z0-9_+&*-]+)*@(?:[a-zA-Z0-9-]+\\.)+[a-zA-Z]{2,7}$

2 个答案:

答案 0 :(得分:0)

好吧,一种方法是将^替换为(?:^|[ ]),将$替换为(?=$|[ ]),然后将原始模式放入捕获组中,以便“捕获” “电子邮件,而不仅仅是验证它们(即(?:^|[ ])(YourOriginalPatter)(?=$|[ ]))。

以下是使用您的模式的示例:

(?:^|[ ])([a-zA-Z0-9_+&*-]+(?:\\.[a-zA-Z0-9_+&*-]+)*@(?:[a-zA-Z0-9-]+\\.)+[a-zA-Z]{2,7})(?=$|[ ])

Demo

答案 1 :(得分:0)

另一种方法是,您只需对一个捕获组重复完整的模式

^(([wW]{3}.)*[a-zA-Z0-9_+&*-]+@[a-zA-Z0-9-]+\.[a-zA-Z]{2,7} *){1,}$