为什么我的正则表达式无法匹配电子邮件?

时间:2013-02-09 19:41:21

标签: c# regex

我必须按照代码验证电子邮件地址

 var reg = new Regex(@"/^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/");

 string e1 = "name@host.net";
 string e2 = "namehost.net";

 bool b1 = reg.IsMatch(e1);
 bool b2 = reg.IsMatch(e2);

b1 b2 都失败

1 个答案:

答案 0 :(得分:3)

删除开头和结尾的斜杠。

var reg = new Regex(@"^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$");

然而,话虽如此,你的正则表达式并不是匹配电子邮件地址的好模式。事实上,准确的模式确实很难实现。谷歌一些,你应该找到更好的。