表达我有一个正则表达式象下面这样:定期的电子邮件地址
^[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)$'