import regex
res = regex.search('(?<rec>\\((?:[^()]++|(?&rec))*\\))',
    '(NP (NNP Hoi) (NN Hallo) (NN Hey) (NNP (NN Ciao) (NN Adios)))')
res.captures('rec')
Как найти все возможные совпадения регулярных выражений в python?