Часть кода Javascript выглядит следующим образом:
num="11222333";
re = /(\d+)(\d{3})/;
re.test(num);
num.replace(re, "$1,$2");
Я не мог понять грамматику "$ 1, $2". Книга, из которой этот код приходит, говорит, что $1 означает RegExp. $1, $2 означает RegExp. $2. Но эти объяснения приводят к большему количеству вопросов:
-
Известно, что в Javascript имя переменных должно начинаться с буквы или _, как $1 может быть допустимым именем переменной-члена RegExp здесь?
-
Если я ввожу $1, командная строка говорит, что она не определена; если я ввожу "$ 1", командная строка только эхо составляет $1, а не 11222. Итак, как метод замещения знает, что означает "$ 1, $2"?
Спасибо.