【发布时间】:2010-12-08 10:13:46
【问题描述】:
嗨,
我正在尝试创建正则表达式来检查有效的电子邮件地址,但以下代码未返回任何输出。
foreach(Match m in (Regex.Matches("Jack@yahoo.com","^([a-zA-Z])+(?:\\d)*?@\\1\\.\\1{2,4}$")))
{
Console.WriteLine("{0} found at index{1}",m.Value,m.Index);
}
谁能告诉我我在做什么错?
【问题讨论】:
-
不要让你的正则表达式太复杂,或者最好不要使用正则表达式。原因见这里:What is the best regular expression for validating email addresses?
-
你的表达式会拒绝很多有效的邮件地址。特别是 TLD 可能比四个字母长得多,域和许多您错过的有效字符。并且正则表达式不适合验证电子邮件地址。