Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么我的正则表达式与电子邮件不匹配?_C#_Regex - Fatal编程技术网

C# 为什么我的正则表达式与电子邮件不匹配?

C# 为什么我的正则表达式与电子邮件不匹配?,c#,regex,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都失败了删除开头和结尾的斜杠 var reg = new R

我必须使用以下代码来验证电子邮件地址

 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);

但是b1b2都失败了

删除开头和结尾的斜杠

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

然而,尽管如此,您的正则表达式并不是匹配电子邮件地址的好模式。事实上,一个精确的图案确实很难制作。用谷歌搜索一些,你会发现更好的。删除开头和结尾的斜杠

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

然而,尽管如此,您的正则表达式并不是匹配电子邮件地址的好模式。事实上,一个精确的图案确实很难制作。用谷歌搜索一些,你会发现更好的。

你很接近,但实际的正则表达式是:实际上,实际的正则表达式在这里:。RFC822在大约12年前就被淘汰了。您很接近,但实际的正则表达式是:实际上,实际的正则表达式在这里:。RFC822几乎在12年前就被淘汰了。@Joey,真的更糟吗?这一个可以接受大量的点(
@…
匹配为有效),主机名中的非拉丁数字(如阿拉伯数字,如۰۱۳۴۷۸۹),在复仇中,它不会接受所有本应包含的字符。不是说它不支持直接IP地址格式之类的。@Joey,真的更糟吗?这一个可以接受大量的点(
@…
匹配为有效),主机名中的非拉丁数字(如阿拉伯数字,如۰۱۳۴۷۸۹),在复仇中,它不会接受所有本应包含的字符。并不是说它不支持直接IP地址格式等。