
您的确切要求:
您的RegEx满足这些确切要求,并且不再满足(不区分大小写的匹配):

^[\w.-]+@(?=[a-z\d][^.]*\.)[a-z\d.-]*[^.]$
在regex101.com上尝试

我仔细地确保几乎没有回溯. 在regex101.com上,您可以查看它执行了多少步骤. 通过13个步骤验证一个好的地址,这非常好. 末尾带有点的地址的性能最差,因为这将导致整个域部分一次被追溯到一个字符电子邮件的正则表达式电子邮件的正则表达式,但是它们可能很少见.
请在本文中投票,就像您投票其他试图回答问题的帖子一样.

然后,请查看我的其他答案并在此页面上投票.
注意:

在C#中,\ w包含. 这可能是您想要的,也可能不是. 如果没有,您可以保留正则表达式,并使用符合ECMAScript标准的模式. 或者,您可以将其更改为a-z0-9_(在方括号中). 但是\ w更短.
\ d也:
\ d匹配任何十进制数字. 它等效于\ p {Nd}正则表达式模式,其中包括标准的十进制数字0-9和许多其他字符集的十进制数字.
您可以再次使用ECMAScript兼容模式,或者只是将其更改为0-9. 但是\ d较短.
请注意,对于此错误的正则表达式,有许多有用的方法. 它允许域部分中的IP地址(不正确),不限制正则表达式的总长度或域部分的长度. 它错误地限制了不应限制的局部字符. 根本不是一个很好的规范.
本文来自本站,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-264359-1.html
……