如何创建像"(.*)"
这样的python正则表达式,使给定的"a (b) c (d) e"
python匹配"b"
而不是"b) c (d"
我知道我可以使用"[^)]"
而不是"."
,但我正在寻找一种更通用的解决方案,使我的正则表达式更简洁一些。有没有办法告诉python“嘿,尽快匹配这个”?
发布于 2009-04-19 23:28:04
\\(.*?\\)
不能工作吗?这就是非贪婪的语法。
发布于 2009-04-21 18:01:15
使用不贪婪的匹配是一个很好的开始,但我也建议您重新考虑.*
的任何使用--这样如何?
groups = re.search(r"\([^)]*\)", x)
发布于 2009-04-19 23:54:56
您希望它与"(b)“匹配吗?按照Zitrax和Paolo的建议去做。您希望它与"b“匹配吗?做
>>> x = "a (b) c (d) e"
>>> re.search(r"\((.*?)\)", x).group(1)
'b'
https://stackoverflow.com/questions/766372
复制相似问题