如何使我的 Python 正则表达式变得非贪婪?

Linda Hamilton
发布: 2024-11-12 14:25:02
原创
510 人浏览过

 How Can I  Make My Python Regular Expressions Non-Greedy?

Python 非贪婪正则表达式:揭秘 * 的力量?

在正则表达式领域,贪婪占据着至高无上的地位。像“.*”这样的结构通常会消耗尽可能多的文本,从而导致匹配臃肿。但是,如果您正在寻找一种更外科手术的方法,优先考虑早期匹配,该怎么办?

解决方案在于神秘的 *?,它是一个将贪婪的正则表达式转换为非贪婪的哨兵的修饰符。这个不起眼的通配符告诉 Python 匹配适合该模式的最小文本部分。

考虑示例“a (b) c (d) e”。标准的“(.)”正则表达式会抓取沉重的“b) c (d”。要驯服这种过度热心的行为,请部署 ?:“(.*?)”的力量。现在,Python 将乖乖地抓住“b”,让其余部分不受干扰。

*?限定符超出了单纯的括号范围,它使正则表达式模式能够捕获任何满足条件的片段,并在越过边界或模式时停止。

所以,当你需要你的正则表达式更加克制时,只需附加那个神奇的 *?"。让它引导你的匹配对象走向他们真正的使命,一次一个非贪婪的步骤。

以上是如何使我的 Python 正则表达式变得非贪婪?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板