此正则表达式是否允许顶级域中的数字?

时间:2019-03-29 13:16:55

标签: c# regex

我有这个正则表达式示例。我是正则表达式的新手。

^[a-z0-9](\.?[a-z0-9_-]){0,}@[a-z0-9-]+\.([a-z]{1,6}\.)?[a-z]{2,6}$

我在想这里的顶级域名在哪里,它是从右侧还是左侧开始的?那是什么?

1 个答案:

答案 0 :(得分:3)

您提供的正则表达式不允许顶级域中的数字。 [a-z]{2,6}$是检查顶级域的部分。它只允许使用小写字符,最少2个字符,最多6个字符。

编辑:为了清楚起见,让我们分解您的正则表达式。 ^[a-z0-9](\.?[a-z0-9_-]){0,}@[a-z0-9-]+\.([a-z]{1,6}\.)?[a-z]{2,6}$ ^[a-z0-9](\.?[a-z0-9_-]){0,}部分从字符串的开头检查是否只允许包含a-z0-9的字符,后跟可选的.,后跟a-z0-9以及_-零到无限次。

@[a-z0-9-]+\.([a-z]{1,6}\.)?在第一部分和域的有效性之后检查@,a-z0-9包括-,后跟.,可选的a-z 2到6次,最多iE次google.com目前是可以接受的,但是.com部分是可选的。

[a-z]{2,6}$检查a-z 2至6次,并检查由$指示的字符串的结尾。意味着这是检查顶级域的部分。

您的正则表达式将接受:blah@google.comblah@google.com.com