title: How to match nested function invocations (bracket pairs) using a regular expression (recursive?)
body: <p>I'm looking for a regular expression (**) that will match an unknown number of nested functions.
  So</p>
  
  <pre><code>expression
  function(expression)
  function(function(expression))
  function(function(function(expression)))
  etc.
  </code></pre>
  
  <p>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.</p>
  
  <p>(**) 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!</p>