python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > python贪婪模式与非贪婪模式

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

作者:qianqqqq_lu

这篇文章主要介绍了python贪婪模式与非贪婪模式 ,实例分析了Python中返回一个返回值与多个返回值的方法,需要的朋友可以参考下

在这里插入图片描述

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

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

在这里插入图片描述

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())

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

课后作业

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

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

在这里插入图片描述

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

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

# res=re.compile(r'<span>(.*)</span><span>(.*)</span><span>(.*)</span>')
result=res.findall(data)
print(result)

在这里插入图片描述

总结

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

您可能感兴趣的文章:
阅读全文