2016-03-21 50 views
0

表達我有一個正則表達式象下面這樣:定期的電子郵件地址

^[A-Za-z0-9\.|-|_]*[@]{1}[A-Za-z0-9\.|-|_]*[.]{1}[a-z]{2,5}$ 

我的問題是我怎麼沒允許從我的上述正則表達式@gmail.com

回答

1

不要使用正則表達式來限制電子郵件地址域 - 最終會導致表達式複雜化,當它無法匹配時,您將無法知道是因爲電子郵件地址無效還是因爲它是因爲的Gmail提到。

如果電子郵件地址的正則表達式匹配,那麼你可以放心地檢查它是否以「@ gmail.com」結尾:

Regex emailRegex = ... 
if(emailRegex.IsMatch(email)) { 
    if(!email.EndsWith("@gmail.com")) { 
     // do stuff 
0

我讀的地方,並保存這個東西叫做negative lookahead。就像這樣: '^ /(?! ignoreme | ignoreme2 | ignoremeN)$'

相關問題