电子邮件地址的正则表达式

时间:2016-03-21 02:56:48

标签: regex

我有一个正则表达式如下:

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

我的问题是如何从上述正则表达式中不允许@gmail.com

2 个答案:

答案 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)$'