Python regex: dopasowanie zagnieżdżonego nawiasu [duplikat]

To pytanie ma już odpowiedź tutaj:

Czy można stosować wyrażenia regularne do dopasowania zagnieżdżonych wzorców? [duplikować 11 odpowiedzi

przypuśćmy, że mam ciąg zawierający podciągi

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


Chcę uzyskać zarówno substring1, jak i substring2 za pomocą wyrażenia regularnego, ale mam problem:

To właśnie mam:

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


Problem w tym, że wynik pokazuje:

('(substring1)(substring2)', )


Wydaje się, że wyrażenie regularne pasuje tylko do pierwszego nawiasu otwierającego i ostatniego nawiasu zamykającego ..

Innymi słowy, dopasowanie wyrażenia regularnego jest jak ..

(    match.....    )

zamias

(    (match1)(match2)   )

Jak sprawić, by regex złapał nawias wewnętrzny INNER ??

Dzięk

questionAnswers(1)

yourAnswerToTheQuestion