我正在使用此正则表达式验证电子邮件,例如“ 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}$
答案 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,}$