¿Cómo explicar “$ 1, $ 2” en Javascript al usar expresiones regulares?
Una pieza de código Javascript es la siguiente:
num="11222333";
re = /(\d+)(\d{3})/;
re.test(num);
num.replace(re, "$1,$2");
No pude entender la gramática de "$ 1, $ 2". El libro del que proviene este código dice que $ 1 significa RegExp. $ 1, $ 2 significa RegExp. $ 2. Pero estas explicaciones llevan a más preguntas:
Se sabe que en Javascript, el nombre de las variables debe comenzar con la letra o _, ¿cómo puede $ 1 ser un nombre válido de la variable miembro de RegExp aquí?
Si ingreso $ 1, la línea de comando dice que no está definida; si ingreso "$ 1", la línea de comando solo se refleja en $ 1, no en 11222. Entonces, ¿cómo sabe el método de reemplazo lo que significa "$ 1, $ 2"?
Gracias.