.
(点)
^
(脱字符)
$
(美元符号)
*
(星号)
+
(加号)
?
(问号)
[]
(方括号)
[abc]
匹配 a
、b
或 c
。|
(竖线)
a|b
匹配 a
或 b
。()
(圆括号)
(abc)
把 abc
作为一个整体进行匹配。\d
[0-9]
。\D
[^0-9]
。\w
[a-zA-Z0-9_]
。\W
[^a-zA-Z0-9_]
。\s
\S
{n}
n
次。例如,a{3}
匹配 aaa
。{n,}
n
次。例如,a{2,}
匹配 aa
、aaa
等。{n,m}
n
次,至多 m
次。例如,a{2,3}
匹配 aa
或 aaa
。
def check(email):
'''
检查是否为邮件地址
:param email:
:return:
'''
regex = '^[a-z0-9]+[\._]?[a-z0-9]+[@]\w+[.]\w{2,3}$'
if re.search(regex, email):
return True
else:
return False
其中的:
^[a-z0-9]+[\._]?[a-z0-9]+[@]\w+[.]\w{2,3}$
我们逐部分解释它:
^
[a-z0-9]+
[\._]?
.
或下划线 _
,这部分是可选的(零次或一次)。[a-z0-9]+
[@]
@
符号。\w+
[.]
.
。\w{2,3}
$
这个正则表达式整体上匹配的是一个典型的电子邮件地址格式。它确保电子邮件地址以一个或多个小写字母或数字开头,后面可以有一个点或下划线,再接一个或多个小写字母或数字,接着是 @
符号,域名部分由一个或多个字母或数字字符组成,最后是一个点和 2 到 3 个字母或数字字符的顶级域名。