JavaScript: referencias posteriores de expresiones regulares de cadena
Puede hacer una referencia como esta en JavaScript:
var str = "123 $test 123";
str = str.replace(/(\$)([a-z]+)/gi, "$2");
Esto reemplazaría (bastante tonto) "$ test" con "test". Pero imagine que me gustaría pasar la cadena resultante de $ 2 a una función, que devuelve otro valor. Intenté hacer esto, pero en lugar de obtener la "prueba" de la cadena, obtengo "$ 2". ¿Hay una manera de lograr esto?
// 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"));