一段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"
意思?
谢谢你。