在《第11.9节 Pytho正则表达式的贪婪模式和非贪婪模式》老猿简单介绍了贪婪模式和非贪婪模式,并说明’’, ‘+’,和 ‘?’ 修饰符都是 贪婪的;它们在字符串进行尽可能多的匹配。有时候并不需要这种行为,只希望匹配到一个就可以,如 希望找到' b
中满足“<.>”匹配条件的结果为””
,这就是非贪婪模式。在修饰符’’, ‘+’,和 ‘?’ 之后添加 ‘?’ 将使匹配模式以 非贪婪进行匹配,这时尽量 少 的字符将会被匹配。如使用正则式 <.*?> 将会仅仅匹配
‘’`。
‘?’, ‘+?’,和 ‘??’ 的匹配含义与’’, ‘+’,和 ‘?’ 类似,只是它们表示是非贪婪模式的重复匹配要求。
案例:
>>> re.search("第.*[章回]",'第一回灵根育孕源流出 心性修持大道生 第二回悟彻菩提真妙理 ') #贪婪模式
>>> re.search("第.*?[章回]",'第一回灵根育孕源流出 心性修持大道生 第二回悟彻菩提真妙理 ') #非贪婪模式
- 1
- 2
- 3
- 4
老猿Python,跟老猿学Python!
博客地址:http://iyenn.com/index/link?url=https://blog.csdn.net/LaoYuanPython
请大家多多支持,点赞、评论和加关注!谢谢!
文章知识点与官方知识档案匹配,可进一步学习相关知识
Python入门技能树首页概览333596 人正在系统学习中

老猿Python
微信公众号
专注Python相关语言、图像音视频处理、AI


评论记录:
回复评论: