Puede retrorreferencia como esto en JavaScript:JavaScript - cadena de referencias hacia atrás de expresiones regulares
var str = "123 $test 123";
str = str.replace(/(\$)([a-z]+)/gi, "$2");
Esto sería (bastante tonta) reemplazar "$ test" con la "prueba". Pero imagine que me gustaría pasar la cadena resultante de $ 2 en una función, que devuelve otro valor. Intenté hacer esto, pero en vez de obtener la cadena "prueba", 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"));
impresionante, ¿dónde puedo encontrar más información sobre esto? – quano
https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String/replace – SLaks
Cool. Para aclarar: '$ 1' y' $ 2' son nombres de parámetros elegidos por el usuario aquí (elegidos para imitar los símbolos de referencia); el - variando! - el número de estos parámetros corresponde al número de grupos de captura en la expresión regular. – mklement0