有效域的正则表达式

时间:2012-04-17 22:31:02

标签: c# regex vb.net

Regex(@"@(?:[a-zA-Z0-9-]+\.)+[a-zA-Z]{2,4}$", RegexOptions.Compiled);

使用上面的内容,我想只传递@ gmail.com,@ xyz.edu,@ co.uk等值... 但我发现像abc@gmail.com(有效的电子邮件ID)这样的值也会通过。

我应该修改什么?

2 个答案:

答案 0 :(得分:3)

^放在@

前面

顺便说一下,为什么{2,4}到最后。 .travel也是有效的顶级域名。

答案 1 :(得分:2)

域无法以-字符开头。

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


Uri uri = new Uri("http://www.cnn.com/some_link/document.htm");
string url = uri.Host.ToString();