Как найти все возможные совпадения регулярных выражений в Python?

Я пытаюсь найти все возможные пары слово / тег или другие вложенные комбинации с python и его регулярными выражениями.

sent = '(NP (NNP Hoi) (NN Hallo) (NN Hey) (NNP (NN Ciao) (NN Adios)))'

def checkBinary(sentence):
    n = re.findall("\([A-Za-z-0-9\s\)\(]*\)", sentence)
    print(n)

checkBinary(sent)

Output:
['(NP (NNP Hoi) (NN Hallo) (NN Hey) (NNP (NN Ciao) (NN Adios)))']

находясь в поиске:

['(NP (NNP Hoi) (NN Hallo) (NN Hey) (NNP (NN Ciao) (NN Adios)))', 
 '(NNP Hoi)', 
 '(NN Hallo)',
 '(NN Hey)', 
 '(NNP (NN Ciao) (NN Adios))',
 '(NN Ciao)',
 '(NN Adios)']

Я думаю, что формула регулярного выражения также может найти вложенные пары слов / тегов в скобках, но она не возвращает их. Как мне это сделать?

Ответы на вопрос(2)

Ваш ответ на вопрос