我有一个需要帮助的正则表达式问题。它试图验证电子邮件地址。
Regex rx = new Regex(@"^[A-Za-z0-9]([_\.\-]?[A-Za-z0-9]+)*\@[A-Za-z0-9]([_\.\-]?[A-Za-z0-9]+)*\.[A-Za-z0-9]([_\.\-]?[A-Za-z0-9]+)*$|^$");
rx.IsMatch("john.gilbert.stu.seattle.washington.us");
IsMatch 方法永远不会返回该特定字符串。它进入一些无限循环。任何人都可以看到模式的问题。
谢谢!
答案 0 :(得分:1)
(有些东西)*很糟糕。见这里:http://www.regular-expressions.info/catastrophic.html
答案 1 :(得分:0)
我建议您使用以下内容来验证电子邮件地址:
try
{
MailAddress addr = new MailAddress("foo@bar.com");
}
catch (FormatException exc)
{
// The email address is not valid
}
这是一个interesting read。
答案 2 :(得分:0)
第一个“+”是问题,如果你删除它就会运行