Python的 re 模块 re.fullmatch.MULTILINE 函数
1. re.fullmatch函数
python的re模块提供的re.fullmatch函数可以用来判断某一字符串是否和某一正则表达式匹配。如果匹配则返回一个匹配对象。如果不匹配返回None。
其中函数的语法为:
re.fullmatch(pattern, string, flags=0)
- pattern:需要匹配的正则表达式
- string:需要匹配的字符串
- flags:可选项,不同的flag可以改变正则表达式的匹配方式
2. MULTILINE标记
MULTILINE标记可以用来控制正则表达式中'^'和'$'这两个特殊符号的匹配方式。如果不使用该标记,'^'和'$'只能匹配字符串中的起始位置和结束位置,而不是以每行的开始位置和结束位置。
使用MULTILINE标记后,'^'和'$'就可以匹配每行字符串的开始和结束位置了。这个标记也可以使用缩写的'm'方式表示。
3. 示例
使用MULTILINE标记的情况下,'^'和'$'就可以匹配每行的开始和结束位置了。
import re
# 匹配以'A'开头和'E'结尾的字符串
pattern = r'^A.*E$'
text = 'ABC\nDEF\nGHI\n'
match = re.fullmatch(pattern, text, flags=re.M)
print(match) # None
# 匹配每行以'A'开头,以'E'结尾的字符串
pattern = r'^A.*E$'
text = 'ABC\nDEF\nGHI\n'
match = re.fullmatch(pattern, text, flags=re.M|re.S)
print(match) #
可以看到,当使用MULTILINE标记时,'ABC'这一行可以匹配成功。而不使用标记时则不能成功。