2017-02-21 57 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