我有这个正则表达式示例。我是正则表达式的新手。
^[a-z0-9](\.?[a-z0-9_-]){0,}@[a-z0-9-]+\.([a-z]{1,6}\.)?[a-z]{2,6}$
我在想这里的顶级域名在哪里,它是从右侧还是左侧开始的?那是什么?
答案 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-z
和0-9
的字符,后跟可选的.
,后跟a-z
和0-9
以及_
和-
零到无限次。
@[a-z0-9-]+\.([a-z]{1,6}\.)?
在第一部分和域的有效性之后检查@,a-z
和0-9
包括-
,后跟.
,可选的a-z
2到6次,最多iE次google.com
目前是可以接受的,但是.com
部分是可选的。
[a-z]{2,6}$
检查a-z
2至6次,并检查由$
指示的字符串的结尾。意味着这是检查顶级域的部分。
您的正则表达式将接受:blah@google.com
和blah@google.com.com