Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我运行了以下代码,只得到了第一个 ')' 作为匹配项。有人可以帮我解释为什么没有返回常规的贪婪 '))' 吗?
r=re.compile('\)') var=r.search('- hi- ))there') print var.group()
search只会返回第一个匹配项。
search
要查找所有匹配项,请使用findall:
findall
r=re.compile('\)') var= r.findall('- hi- )) there') print (var)
如果您想在一场比赛中找到两个大括号,请使用:
r=re.compile('\)+')
+与 1 个或多个对象的匹配项。
+
您的正则表达式并不贪婪。事实上,它被设置为只匹配一个字符。如果您希望它也匹配重复,请添加+:
>>> r=re.compile('\)+') >>> var=r.search('- hi- ))there') >>> print var.group() ))