這是我的代碼,現在,Python的正則表達式〜簡單的問題
import re
matches = re.search(r'^%s\s*\((.*?)\)'%"Hello", "Hello(Hi())")
print matches.group(1)
它得到的括號內的一切後,看到的Hello。 因此,例如,
Hello(hi) produces hi
我有一個問題,
Hello(Hi()) produces Hi(and not Hi()
有誰知道我怎麼可能通過改變正則表達式解決這個問題?
通常不可能將任意嵌套的括號與常規epxressions匹配,因爲嵌套括號不會形成常規語言。你可以保證嵌套的上限嗎? –
如果你可以保證最後的圓括號在某種程度上是獨一無二的 - 例如,在行尾,後面跟着一個空格(並且括號中沒有括號)等,那麼你可以將正則表達式的末尾定位。 – larsks
你爲什麼使用搜索開始行錨?這相當於使用匹配,除了較慢。 –