我的电子邮件入口格式像username@domain.extension一样
我使用下面的regex验证我的电子邮件地址:
[a-zA-Z]+\s<\b[a-z0-9._-]+@[a-zA-Z]+\.[A-Za-z]{1,3}\b>电子邮件地址:
this <is@valid.com>
this <is_it@valid.com>
this <_is@notvalid.com>
this <.is@notvalid.com>
this <-is@notvalid.com>它匹配电子邮件地址1,2,3,而4,5有。在域名开始的时候,它被拒绝了。那么,为什么第三封电子邮件在域名开始时强调,它会引起问题并被接受,我不能拥有。,-,_在域开始时,按照上面提到的指令。这是链接
更正ans: 1,2电子邮件应该只匹配
发布于 2017-09-04 08:04:14
您的字符类在<\b之后接受_,因此任何以-开头的电子邮件地址也都是有效的。
您可以使用此regex只允许字母表作为电子邮件的起始字母:
[a-zA-Z]+\s<\b[A-Za-z][a-zA-Z0-9._-]*@[a-zA-Z]+\.[A-Za-z]{1,3}\b>或者你可以利用\w
[a-zA-Z]+\s<\b[a-zA-Z][\w.-]*@[a-zA-Z]+\.[A-Za-z]{1,3}\b>发布于 2017-09-04 09:27:54
新手到regex:
([a-zA-Z]+[ ][<][a-zA-Z]+[a-zA-Z._-]+[@][a-zA-Z]+\.[A-Za-z]{1,3})[>]这是我对你问题的尝试:

https://stackoverflow.com/questions/46032678
复制相似问题