我有这个正则表达式的例子。我是正则表达式的新手。
^[a-z0-9](\.?[a-z0-9_-]){0,}@[a-z0-9-]+\.([a-z]{1,6}\.)?[a-z]{2,6}$
我在想这里的顶级域名在哪里,是从右边还是左边开始?还有,这是什么?
您提供的正则表达式不允许顶级域中的Numbers。 [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
and 0-9
,然后是可选的.
,接着是a-z
and 0-9
以及_
和-
零到无限次。
@[a-z0-9-]+\.([a-z]{1,6}\.)?
在第一部分之后检查@以及域的有效性,a-z
和0-9
包括-
,然后是.
,可选a-z
2到6次,最多一次i.E. google.com
在这一点上是可以接受的,但是.com
部分是可选的。
[a-z]{2,6}$
检查a-z
2至6次,并由$
指示字符串的结尾。这意味着这是检查顶级域名的部分。
你的正则表达式应该接受:qazxsw poi以及qazxsw poi