2016-03-21 51 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)$'

相关问题