C# 避免在@symbol后面加连字符

C# 避免在@symbol后面加连字符,c#,regex,validation,email-validation,C#,Regex,Validation,Email Validation,我正在编写一个电子邮件验证程序,我想验证电子邮件,这样它就不会在@Symbol后面包含连字符“u”。 e、 g.电子邮件lmn-xyz@abc-允许使用pqr.com,但不允许使用xyz@-pqr.com。 我试过下面的表达,但没有帮助 ^[a-zA-Z0-9_+-]+([a-zA-Z0-9_+-]+)@[a-zA-Z0-9-]+([a-zA-Z0-9-]+)([a-zA-Z]{2,})$ 任何关于如何实现上述功能的建议都可以通过正则表达式给出。 提前感谢。再次添加第一组,在@签名后不带连字符(

我正在编写一个电子邮件验证程序,我想验证电子邮件,这样它就不会在@Symbol后面包含连字符“u”。 e、 g.电子邮件lmn-xyz@abc-允许使用pqr.com,但不允许使用xyz@-pqr.com。 我试过下面的表达,但没有帮助

^[a-zA-Z0-9_+-]+([a-zA-Z0-9_+-]+)@[a-zA-Z0-9-]+([a-zA-Z0-9-]+)([a-zA-Z]{2,})$

任何关于如何实现上述功能的建议都可以通过正则表达式给出。
提前感谢。

再次添加第一组,在
@
签名后不带连字符(
[a-zA-Z0-9]
)。要保存一致性,您还应在
@
之后的第一组上使用
*
更改
+
,因为需要添加一个

^[a-zA-Z0-9_+-]+(.[a-zA-Z0-9_+-]+)@[a-zA-Z0-9][a-zA-Z0-9-]*(.[a-zA-Z0-9-]+).([a-zA-Z]{2,})$

在@symbol之后使用负前瞻:

^[a-zA-Z0-9_\+-]+(\.[a-zA-Z0-9_\+-]+)*@(?!-)[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.([a-zA-Z]{2,})$