我跑了下面的代码,只获得第一个')'作为匹配。有人可以帮助我为什么常规贪婪的'))'没有被返回?Python的.group()只返回第一个匹配
r=re.compile('\)')
var=r.search('- hi-))there')
print var.group()
我跑了下面的代码,只获得第一个')'作为匹配。有人可以帮助我为什么常规贪婪的'))'没有被返回?Python的.group()只返回第一个匹配
r=re.compile('\)')
var=r.search('- hi-))there')
print var.group()
你的正则表达式并不贪心。事实上,它的设置只能匹配一个字符。如果你想让它匹配重复为好,加+
:
>>> r=re.compile('\)+')
>>> var=r.search('- hi-))there')
>>> print var.group()
))
感谢您的澄清。 findall()似乎为我工作。 – 2013-04-09 02:26:42
也许你想'')+'? – Patashu 2013-04-08 23:56:58