# 理论'''
元字符之一
m re.M
mutiline多行匹配模式,相当于换行符为间隔分割字符串然后进行一次次的匹配
该选项的开启会导致定位字符^$的作用效果发送改变,具体如下
默认下未开启多行匹配模式:
^ 仅匹配整个字符串的开始位置
$ 仅匹配整个字符串的结束位置
当开启多行匹配模式后:
^ 匹配每行(由换行符决定)开始位置
$ 匹配每行(由换行符决定)结束位置
'''# 举例'''
匹配字符串中以a开头的字符串,且这个词位于结束位置
用/a[a-z]*$/m匹配
a apple
a day
keep the doctor away.
如果是默认下未开启多行模式匹配结果是
['away']
如果开启多行匹配模式后
['apple', 'ay', 'away']
'''
python中如何调用正则
# pattern = '正则语句''''
元字符主要有以下三种(python只能使用后者的方式)
g re中使用findall(全部)函数和search来区分(1次)函数
global匹配所有的字符串(默认情况下成功匹配一次就不会继续匹配了)
i re.I
ignorance忽略大小写区别进行匹配
m re.M
mutiline多行匹配模式,相当于换行符为间隔分割字符串然后进行一次次的匹配
s re.S
re.DOTALL使得dot也就是.字符集也包含换行符号
'''import re
# 匹配数字开开头数字结尾的字符串
pattern ='\w*\d$'
content ='''115is115
ok let us get into
115is located in computer house at room 115'''# 要被匹配的字符串# 返回匹配对象print('-----search-----')
res = re.search(pattern,content,re.MULTILINE)print(res)# 以字符串的形式返回唯一的匹配结果print(res.group())# 以list的形式返回所有的匹配结果print('-----findall-----')
res = re.findall(pattern,content,re.MULTILINE)print(res)