I'm looking for a regular expression (\*\*) that will match an unknown number of nested functions.
So

```
expression
function(expression)
function(function(expression))
function(function(function(expression)))
etc.

```

will all match successfully. But for instance if I add an extra closing bracket at the end it wouldn't be included in the match.

(\*\*) Please don't answer that this would be easier to do by parsing (and counting brackets) rather than using a regular expression - after scratching my head for a while I know that already!