python基础之贪婪模式与非贪婪模式

python基础之贪婪模式与非贪婪模式_第1张图片

# 贪婪模式 默认的匹配规则
# 在满足条件的情况下 尽可能多的去匹配到字符串
import re
rs = re.match('\d{6,9}', '111222333')
print(rs.group())

# 非贪婪模式 在满足条件的情况下尽可能少的去匹配
rs = re.match('\d{6,9}?', '111222333')
print(rs.group())

python基础之贪婪模式与非贪婪模式_第2张图片

import re
content='aacbacbc'
pattren=re.compile('a.*b')
result=pattren.search(content)
print(result.group())
content='aacbacbc'
pattren=re.compile('a.*?b') #非贪婪模式匹配
result=pattren.search(content)
print(result.group())

python基础之贪婪模式与非贪婪模式_第3张图片

python基础之贪婪模式与非贪婪模式_第4张图片

python基础之贪婪模式与非贪婪模式_第5张图片

python基础之贪婪模式与非贪婪模式_第6张图片

python基础之贪婪模式与非贪婪模式_第7张图片

python基础之贪婪模式与非贪婪模式_第8张图片

python基础之贪婪模式与非贪婪模式_第9张图片

课后作业

import re
# 1.'save your heart for someone who cares' 请使用正则将文本中的
# “s” 替换成S 请写python代码完成匹配替换
data='save your heart for someone who cares'
res=re.sub('s','S',data)
print(res)

# 2.'三生三世,十里桃花
# 莫斯科行动九州海上牧云记'
# 请使用正则将标签中的全部内容匹配出来 用python代码实现

data='三生三世,十里桃花' \
     '莫斯科行动' \
     '九州海上牧云记'
res=re.compile(r'(.*)(.*)(.*)')
result=res.findall(data)
print(result)

python基础之贪婪模式与非贪婪模式_第10张图片

# 2.'三生三世,十里桃花
# 莫斯科行动九州海上牧云记'
# 请使用正则将标签中的全部内容匹配出来 用python代码实现

data='三生三世,十里桃花' \
     '莫斯科行动' \
     '九州海上牧云记'
patternNick=r'<(?P\w*)>(.*)<(?P=A)>(.*)<(?P=A)>(.*)'
res=re.compile(patternNick)

# res=re.compile(r'(.*)(.*)(.*)')
result=res.findall(data)
print(result)

python基础之贪婪模式与非贪婪模式_第11张图片

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注脚本之家的更多内容!

你可能感兴趣的:(python基础之贪婪模式与非贪婪模式)