我有一个正则表达式如下:
^[A-Za-z0-9\.|-|_]*[@]{1}[A-Za-z0-9\.|-|_]*[.]{1}[a-z]{2,5}$
从上面的正则表达式:
(1)a@gmail.com ==>有效的
(2)b @gmail。 ==>无效
(3)c @ gmail ==>无效
上述正则表达式仅适用于单个电子邮件地址。
但现在,我想要如下:
(1)a@gmail.com ==>有效
(2)@ gmail.com,b @ gmail.com ==>有效
(3)c @ gmail,d @ gmail.com ==>无效
无论有多少电子邮件用户填写,电子邮件地址都应为完整格式 我应该如何修改它?有人能帮助我吗?
答案 0 :(得分:2)
使用此:
^([A-Za-z0-9\.|-|_]*[@]{1}[A-Za-z0-9\.|-|_]*[.]{1}[a-z]{2,5})(,[A-Za-z0-9\.|-|_]*[@]{1}[A-Za-z0-9\.|-|_]*[.]{1}[a-z]{2,5})*?$
第一部分将选择一个电子邮件地址:
([A-Za-z0-9\.|-|_]*[@]{1}[A-Za-z0-9\.|-|_]*[.]{1}[a-z]{2,5})
然后第二部分类似,但必须以逗号(,
)开头,整个部分是可选的(?
)
(,[A-Za-z0-9\.|-|_]*[@]{1}[A-Za-z0-9\.|-|_]*[.]{1}[a-z]{2,5})*?
感谢@Wiktor Stribiżew指出我以前的RegEx允许跟踪,