C# 有效域的正则表达式

C# 有效域的正则表达式,c#,regex,vb.net,C#,Regex,Vb.net,使用上述方法,我只想传递@gmail.com、@xyz.edu、@co.uk等值。。。 但我发现这些价值观abc@gmail.com(有效的电子邮件ID)也可以通过 我应该修改什么?在@前面放一个^ 顺便问一下,为什么{2,4}最终会失败.travel也是一个有效的顶级域。在@前面放一个^ 顺便问一下,为什么{2,4}最终会失败.travel也是一个有效的顶级域。域不能以-字符开头 ^(?[a-zA-Z0-9][a-zA-Z0-9-]*\)+[a-zA-Z]{2,6}$ 域不能以-字符开头 ^

使用上述方法,我只想传递@gmail.com、@xyz.edu、@co.uk等值。。。 但我发现这些价值观abc@gmail.com(有效的电子邮件ID)也可以通过


我应该修改什么?

@
前面放一个
^


顺便问一下,为什么
{2,4}
最终会失败<代码>.travel也是一个有效的顶级域。

@
前面放一个
^


顺便问一下,为什么
{2,4}
最终会失败
.travel
也是一个有效的顶级域。

域不能以
-
字符开头

^(?[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}$



博物馆和其他一些较长的顶级域名也是如此。还有域名和扩展字符。博物馆和其他一些较长的顶级域名也是如此。还有域名和扩展字符。
Regex(@"@(?:[a-zA-Z0-9-]+\.)+[a-zA-Z]{2,4}$", RegexOptions.Compiled);
Uri uri = new Uri("http://www.cnn.com/some_link/document.htm");
string url = uri.Host.ToString();