嗨,我有一个要求,我必须验证用分号分隔的电子邮件地址。例如“ test@test.com; test@Tes.com”之类的东西。我正在使用以下正则表达式:
(([^@]+@[^\s@]+\.[^\s@;]{2,}\;{0,1}\s*))+
这里的问题是即使它们之间没有分号但带有空格,例如"test@test.com Test@tes.com"
,正则表达式仍然有效。但这是不正确的。所以有人可以告诉我如何实现这一点吗?电子邮件ID,中间不需要分号
答案 0 :(得分:0)
找到了一个有效的正则表达式。经过测试,直到3封电子邮件。
([[^ @] + @ [^ \ s @] +。[^ \ s @;] {2,})+(\;([^ @] + @ [^ \ s @] +。[ ^ \ s @;] {2,}){1,1})*
测试样品:
这里的关键是遵循\ w +(。\ w +)+模式。 希望这会有所帮助
答案 1 :(得分:0)
尝试正则表达式(?!.*;$)^([-\w]+?@\w+\.\w+(?:\s*;\s*)?)+$
这将匹配任何编号。以分号分隔的电子邮件数量。负面的前瞻
(?!.*;$)
最终将不匹配带有分号的电子邮件。