2017-02-21 68 views
-1

我需要找到一个正则表达式,以最简单的形式验证电子邮件地址,并且电子邮件地址不应超过250个字符。这是我到目前为止所提出的。灾难性的回溯错误验证电子邮件地址

(?=.{1,250}$)(.+)@(.+){2,}\.(.+){2,} 

问题是这个表达式适用于小型邮件长度集。即如果我把10而不是250,它将起作用。如果我针对大样本测试上述表达式,它会引发灾难性的回溯异常。 https://regex101.com/r/Dv2j2U/1。有人可以帮我解决这个问题吗?

+0

更换(.+){2,}你觉得这样做? '(。+){2,}'?只需使用'。{2,}' – Fallenhero

+0

哈哈我更快:P – Fallenhero

+1

但是赞美...我从未在 – Fallenhero

回答

3

只是.{2,}

+0

谢谢@Fallenhero的努力。我终于能够在你的帮助下提出表达。我的工作表达式是(?= ^。{1,250} $)(。+)@。{2,} \ .. {2,} – rawel