表達我有一個正則表達式象下面這樣:定期的電子郵件地址
^[A-Za-z0-9\.|-|_]*[@]{1}[A-Za-z0-9\.|-|_]*[.]{1}[a-z]{2,5}$
我的問題是我怎麼沒允許從我的上述正則表達式@gmail.com
?
表達我有一個正則表達式象下面這樣:定期的電子郵件地址
^[A-Za-z0-9\.|-|_]*[@]{1}[A-Za-z0-9\.|-|_]*[.]{1}[a-z]{2,5}$
我的問題是我怎麼沒允許從我的上述正則表達式@gmail.com
?
不要使用正則表達式來限制電子郵件地址域 - 最終會導致表達式複雜化,當它無法匹配時,您將無法知道是因爲電子郵件地址無效還是因爲它是因爲的Gmail提到。
如果電子郵件地址的正則表達式匹配,那麼你可以放心地檢查它是否以「@ gmail.com」結尾:
Regex emailRegex = ...
if(emailRegex.IsMatch(email)) {
if(!email.EndsWith("@gmail.com")) {
// do stuff
我讀的地方,並保存這個東西叫做negative lookahead。就像這樣: '^ /(?! ignoreme | ignoreme2 | ignoremeN)$'