我有一个正则表达式如下:
^[A-Za-z0-9\.|-|_]*[@]{1}[A-Za-z0-9\.|-|_]*[.]{1}[a-z]{2,5}$
我的问题是如何从上述正则表达式中不允许@gmail.com
?
答案 0 :(得分:1)
不要使用正则表达式来限制电子邮件地址域 - 您最终会使表达式复杂化,当它无法匹配时,您不会知道它是否因为电子邮件地址无效或由于Gmail提及而无效。
如果电子邮件地址与正则表达式匹配,那么您可以安全地检查它是否以" @ gmail.com"
结尾Regex emailRegex = ...
if( emailRegex.IsMatch( email ) ) {
if( !email.EndsWith("@gmail.com") ) {
// do stuff
答案 1 :(得分:0)
我在某处读到并保存了名为negative lookahead的内容。它是这样的: ' ^ /(?ignoreme | ignoreme2 | ignoremeN)$'