Você pode fazer a referência anterior como esta em JavaScript:
var str = "123 $test 123";
str = str.replace(/(\$)([a-z]+)/gi, "$2");
Isso substituiria (bastante bobo) "$ test" por "test". Mas imagine que eu gostaria de passar a string resultante de $ 2 para uma função, que retorna outro valor. Tentei fazer isso, mas em vez de obter a string "teste", recebo "$ 2". Existe uma maneira de conseguir isso?
// Instead of getting "$2" passed into somefunc, I want "test"
// (i.e. the result of the regex)
str = str.replace(/(\$)([a-z]+)/gi, somefunc("$2"));