match(pattern, string, flags=0)
从字符串的【起始】位置匹配
匹配成功:返回一个匹配的对象
匹配失败:返回None
flags:
标志位,用于控制正则表达式的匹配方式
如:是否区分大小写,多行匹配等等。
import re
text = "我爱Python"
pat1 = "[\u4e00-\u9fa5]+" # 汉字
pat2 = "Python"
# re.match
r1 = re.match(pat1, text)
print(r1)
# span:跨度;范围
print(r1.span())
print(r1.group())
r2 = re.match(pat2, text)
# 不是起始位置,匹配失败
print(r2)
search(pattern, string, flags=0)
扫描整个字符串并返回【第一个】成功的匹配。
匹配成功:返回一个匹配的对象
匹配失败:返回None
flags:
标志位,用于控制正则表达式的匹配方式
如:是否区分大小写,多行匹配等等。
import re
text = '我爱Python我爱python'
pat2 = 'Python'
r2 = re.search(pat2, text)
print(r2)
print(r2.span())
print(r2.group(), type(r2.group()))
'''
<_sre.SRE_Match object; span=(2, 8), match='Python'>
(2, 8)
Python <class 'str'>
'''