str_1 = r"adjkladfhiasas[email?protected]"
a = re.match("com",str_1) # 从字符串起始位置匹配。 找不到,返回None 匹配一次
print(a)
# None
b = re.search("com",str_1) # re.search匹配整个字符串,直到找到一个匹配
# 找不到,返回None 匹配一次
print(b)
# <re.Match object; span=(33,36),match=‘com‘>
c = re.findall("com",str_1) # 字符串中找到正则表达式所匹配的所有子串,
# 并返回一个列表,如果没有找到匹配的,则返回空列表
print(c)
# [‘com‘,‘com‘]
d = re.findall("\",str_1) # re模块中 特殊字符,需要使用转义字符
# python 解释器解释, 为特殊字符,需要使用转义字符进行转义
print(d)
# [‘‘]
e = re.search(r"",str_1) # r 表示后面的字符为python中的原生字符
print(e)
# <re.Match object; span=(14,15),match=‘‘>
f = re.search(r"bcom",str_1) # b在python中指退格
# b在re模块中指单词的边界,所以使用r
print(f)
# <re.Match object; span=(33,match=‘com‘>
# () 做分组
print(re.search("(as)+",str_1))
# <re.Match object; span=(10,14),match=‘asas‘>
print(re.search("(as)+",str_1).group()) # 贪婪匹配
# asas
str_2 = "asdfaas3"
print(re.search("(as)|3","asdd893").group()) # | 或
# as
print(re.search("(as)|3","afsdd893").group())
# 3
print(re.search("(?P<id>d{3})/(?P<name>w{3})","ieuriwruiw234/yui").group())# 234/yuiprint(re.search("(?P<id>d{3})/(?P<name>w{3})","ieuriwruiw234/yui").group("id"))# 234print(re.search("(?P<id>d{3})/(?P<name>w{3})","ieuriwruiw234/yui").group("name"))# yui