More sophisticated param substitution

Replace parameters in route paths that have a regex after them too.
e.g. :myparam([a-z]+).

Note: doesn’t match regexs that themselves have parentheses in them.
(That’d require lookarounds).