Нравится это:
str.replace(regex, function(match, $1, $2, offset, original) { return someFunc($2); })
Я бы порекомендовал взглянуть на один из многих превосходных драгоценных камней в этом пространстве