import pyparsing
strings = pyparsing.Word(pyparsing.alphanums)
parens = pyparsing.nestedExpr('(', ')', content=strings)
parens.parseString(
    '(NP (NNP Hoi) (NN Hallo) (NN Hey) (NNP (NN Ciao) (NN Adios)))').asList()
How to find all possible regex matches in python?