Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 多个电子邮件地址的正则表达式_Regex - Fatal编程技术网

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原始正则表达式也有。我会通知他的。