JavaScript - backreferences de cadenas de expresiones regulares

Puede hacer una referencia inversa como esta en JavaScript: var str = "123 $test 123"; str = str.replace(/(\$)([a-z]+)/gi, "$2"); Esto (bastante tonto) reemplazaría "$ test" por "test". Pero imagina que me gustaría pasar la cadena resultante de $ 2 a una función, que devuelve otro valor....