【问题标题】:C# Email Regex - Blacklist characters such as "C# 电子邮件正则表达式 - 黑名单字符,例如“
【发布时间】:2013-07-13 02:00:05
【问题描述】:

我有以下正则表达式可以很好地验证电子邮件:

[A-Za-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[A-Za-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?\.)+[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])

但是如果电子邮件的任何部分包含某些字符(例如"),我想添加到正则表达式以使其失败。

【问题讨论】:

标签: c# regex email-validation


【解决方案1】:

如果你添加

(?<!".*)

到当前正则表达式的前面,如果电子邮件地址包含“”,则正则表达式匹配将失败

【讨论】:

  • 或者只是(?!.*")在表达式的开头:)
  • 您的正则表达式与提供的正则表达式的功能有何不同?
  • 您正在做一个非固定长度的负向后查找,这非常昂贵,但最重要的是并非所有正则表达式都支持它。因此,为了使您的正则表达式更便携,您可以使用负前瞻。
猜你喜欢
  • 2011-07-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-28
  • 2012-01-02
  • 2015-12-03
相关资源
最近更新 更多