Existe algum tipo de Regex capaz de analisar símbolos correspondentes?

Esta expressão regular

/\(.*\)/

não corresponderá ao parêntese correspondente, mas ao último parêntese na string. Existe uma extensão de expressão regular, ou algo semelhante, com uma sintaxe adequada que permita isso? Por exemplo:

there are (many (things (on) the)) box (except (carrots (and apples)))

/OPEN(.*CLOSE)/ deve corresponder(many (things (on) the))

Pode haver níveis infinitos de parênteses.

questionAnswers(3)

yourAnswerToTheQuestion