我跑了下面的代碼,只獲得第一個')'作爲匹配。有人可以幫助我爲什麼常規貪婪的'))'沒有被返回?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