C# 组合正则表达式#

C# 组合正则表达式#,c#,regex,C#,Regex,我试着自己做一个简单的电子邮件验证。我需要结合两种模式: 1) @“^[A-Za-z0-9][A-Za-z0-9.-]+[A-Za-z0-9][A-Za-z0-9.-+\[A-Za-z0-9.-]+[A-Za-z0-9]$”//仅允许xxxx@xxx.xx点不是局部和域部分的第一个或最后一个字符 2) @“^([^\.]|([^\.]\.[^\.]]*$”//一行中不能有两个或多个点 换句话说,我想在第一个正则表达式中添加一个asd的条件。asd@asd.com为真,但asd。。asd@asd.

我试着自己做一个简单的电子邮件验证。我需要结合两种模式:

1)
@“^[A-Za-z0-9][A-Za-z0-9.-]+[A-Za-z0-9][A-Za-z0-9.-+\[A-Za-z0-9.-]+[A-Za-z0-9]$”
//仅允许xxxx@xxx.xx点不是局部和域部分的第一个或最后一个字符

2)
@“^([^\.]|([^\.]\.[^\.]]*$”
//一行中不能有两个或多个点

换句话说,我想在第一个正则表达式中添加一个
asd的条件。asd@asd.com
为真,但
asd。。asd@asd.com
为false

^(?!.*[.][.])[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-z0-9]$
只需为相同的代码添加一个
lookahead

见演示


为什么不分别为它们执行正则表达式,而不用担心将它们组合成一个正则表达式?为什么不重新发明轮子?但我永远也不知道它是怎么工作的;)我可以使用数千个循环而不是正则表达式,然后考虑一下: