Regex 多个电子邮件地址的正则表达式
我有一个正则表达式,如下所示:Regex 多个电子邮件地址的正则表达式,regex,Regex,我有一个正则表达式,如下所示: ^[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) a@gmail.com,b@gmail.com==>有效 (3) c@gmail,d@g
^[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) a@gmail.com,b@gmail.com==>有效
(3) c@gmail,d@gmail.com==>无效 无论有多少电子邮件用户填写,电子邮件地址都应为完整格式
我应该如何修改它?有人能帮我吗?用这个:
^([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})(,[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})
第二部分类似,但必须以逗号(,
)开头,整个部分是可选的(?
)
退房
感谢您指出我以前的正则表达式允许使用尾随
,
您的验证可能会将一些有效的电子邮件地址标记为无效。(例如,在@
之前应该允许使用+
字符。您应该注意,您应该使用\-
选择连字符,而不是-
此外,@gmail.com
正在使用您的正则表达式。您的验证可能会将一些有效的电子邮件地址标记为无效。)。(例如,在@
之前应该允许使用+
字符。您应该注意,您应该使用\-
来选择连字符,而不是-
此外,@gmail.com
正在使用您的regext。这也将允许一个尾随,
,如a@gmail.com,b@gmail.com,
我不知道您是否注意,但是模式中的|-
永远不会匹配连字符,我相信OP希望匹配连字符。此外,最后的?
量词只允许输入两封电子邮件,而问题说明无论有多少电子邮件用户填写。我在第二部分后面的?
前面添加了一个*
,以允许无限数量的电子邮件地址。由于OP已经有了这个表达式,我将它更改为他想要的,尽管我也会通知他连字符的事情。@Druzion我想你的正则表达式中有一个错误,因为@gmail.com
也为我工作a@gmail.com,@gmail.com
@AkramLazkanee是的,确实如此,尽管OpOriginal RegEx也有。我会通知他。这也会允许像a@gmail.com,b@gmail.com,
我不知道您是否注意到,但是模式中的|-|
永远不会匹配连字符,而且我相信OP希望匹配连字符。此外,结尾的?
量词只允许两封电子邮件问题是,不管有多少电子邮件用户填写。我在第二部分后,即?
之前添加了一个*
,以允许无限数量的电子邮件地址。由于OP已经有了这个表达式,我将它改为他想要的,尽管我也会通知他连字符的事情。@Druzion我想你有一个你的正则表达式中有错误,因为@gmail.com
也适用于我a@gmail.com,@gmail.com
@AkramLazkanee是的,虽然OP原始正则表达式也有。我会通知他的。