Python Regex: Übereinstimmende geschachtelte Klammer [duplizieren]

Diese Frage hat hier bereits eine Antwort:

Können reguläre Ausdrücke verwendet werden, um verschachtelte Muster abzugleichen? [Duplikat 11 Antworten

Angenommen, ich habe eine Zeichenfolge mit Teilzeichenfolgen

# the substrings and the whole string surrounded by parenthesis
string = '((substring1)(substring2))'


Ich möchte sowohl Teilzeichenfolge1 als auch Teilzeichenfolge2 mit Regex abrufen, aber ich habe ein Problem:

Das ist was ich jetzt habe:

match = re.search('(\(.*\))', string)
print match.groups()


Das Problem ist, das Ergebnis zeigt:

('(substring1)(substring2)', )


Es sieht so aus, als ob der reguläre Ausdruck nur mit der ersten öffnenden und der letzten schließenden Klammer übereinstimmt.

it anderen Worten, die passende Regex ist wie ..

(    match.....    )

anstat

(    (match1)(match2)   )

Wie bringe ich den Regex dazu, die INNERE Klammer zu fangen ??

Vielen Dan

Antworten auf die Frage(1)

Ihre Antwort auf die Frage