首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Python非贪婪正则表达式

Python非贪婪正则表达式
EN

Stack Overflow用户
提问于 2009-04-19 23:24:03
回答 5查看 136K关注 0票数 207

如何创建像"(.*)"这样的python正则表达式,使给定的"a (b) c (d) e" python匹配"b"而不是"b) c (d"

我知道我可以使用"[^)]"而不是".",但我正在寻找一种更通用的解决方案,使我的正则表达式更简洁一些。有没有办法告诉python“嘿,尽快匹配这个”?

EN

回答 5

Stack Overflow用户

发布于 2009-04-19 23:28:04

\\(.*?\\)不能工作吗?这就是非贪婪的语法。

票数 16
EN

Stack Overflow用户

发布于 2009-04-21 18:01:15

使用不贪婪的匹配是一个很好的开始,但我也建议您重新考虑.*的任何使用--这样如何?

groups = re.search(r"\([^)]*\)", x)
票数 7
EN

Stack Overflow用户

发布于 2009-04-19 23:54:56

您希望它与"(b)“匹配吗?按照Zitrax和Paolo的建议去做。您希望它与"b“匹配吗?做

>>> x = "a (b) c (d) e"
>>> re.search(r"\((.*?)\)", x).group(1)
'b'
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/766372

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档