C# 需要具有特殊字符的电子邮件Id的正则表达式。(<&燃气轮机\\&引用;空间

C# 需要具有特殊字符的电子邮件Id的正则表达式。(<&燃气轮机\\&引用;空间,c#,jquery,regex,email,C#,Jquery,Regex,Email,我需要一个包含特殊字符的电子邮件Id正则表达式,如。;[]\“空格,甚至@sign。这两个空格之间不允许有多个空格。用户名不能以空格开头,但可以在中间包含空格,如 “John”Smith\@yahoo.com 电子邮件Id可以如下所示 very.(),:;<>[]\".VERY.\"very@\\ \"very\".unusual"@strange.example.com very.(,:;[]\”.very.\“very@\\\”very\“.unspecial”@square

我需要一个包含特殊字符的电子邮件Id正则表达式,如
。;[]\“
空格,甚至@sign。这两个空格之间不允许有多个空格。用户名不能以空格开头,但可以在中间包含空格,如

“John”Smith\@yahoo.com

电子邮件Id可以如下所示

very.(),:;<>[]\".VERY.\"very@\\ \"very\".unusual"@strange.example.com 
very.(,:;[]\”.very.\“very@\\\”very\“.unspecial”@square.example.com
正则表达式应该像这样与C#一起工作
[RegularExpression(“^[a-zA-Z0-9\\.-]+@([a-zA-Z0-9-]+\\)+[a-zA-Z]{2,6}$”,ErrorMessage=“电子邮件无效”)
和jQuery

提前感谢

试试这个


好的,我会发布这篇文章,但您应该记住,在没有边界/锚的情况下使用这篇文章可能会返回意外的结果:

([-a-zA-Z0-9_\\:;,(). @"[\]<>]+)@((?:[a-zA-Z0-9-]+\.)+[a-zA-Z]{2,6})
([-a-zA-Z0-9\\:;,()。@“[\]]+)@((?:[a-zA-Z0-9-]+\)+[a-zA-Z]{2,6})
这是一本书


此正则表达式在C#和JQuery中都可以使用,因为它不使用任何命名字符类、平衡组或命名捕获组等。请尝试以下方法验证邮件:

^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$

测试正则表达式:

输入字符串是孤立的,而不是在更大的文本中吗?不,它们不是孤立的。然后,您应该提供上下文。没有正则表达式可以将电子邮件与用户名部分中的空格匹配,而在其前面没有特定的边界。是的,用户名不能以空格开头,但在两者之间允许有单个空格,如John Smith@yahoo.com我如何知道电子邮件的用户名部分何时开始?请提供示例输入,在哪里搜索匹配项。