我有下面的代码来验证电子邮件地址为什么我的正则表达式无法匹配电子邮件?
var reg = new Regex(@"/^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/");
string e1 = "[email protected]";
string e2 = "namehost.net";
bool b1 = reg.IsMatch(e1);
bool b2 = reg.IsMatch(e2);
但两者B1和B2失败
我有下面的代码来验证电子邮件地址为什么我的正则表达式无法匹配电子邮件?
var reg = new Regex(@"/^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/");
string e1 = "[email protected]";
string e2 = "namehost.net";
bool b1 = reg.IsMatch(e1);
bool b2 = reg.IsMatch(e2);
但两者B1和B2失败
在开头和结尾删除斜线。
var reg = new Regex(@"^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$");
但是,这就是说,你的正则表达式不是匹配电子邮件地址的好模式。事实上,一个准确的模式真的很难做到。谷歌一些,你应该找到更好的。
你很近,但实际的正则表达式是:http://ex-parrot.com/~pdw/Mail-RFC822-Address.html – aquinas 2013-02-09 19:45:24
其实,实际的正则表达式在这里:http://stackoverflow.com/问题/ 201323 /使用-A-正则表达式到验证-的电子邮件地址/ 1771483#1771483。 RFC822在12年前已经过时了。 – MichaelRushton 2013-02-09 20:10:12