在我来到这个网站之前,我一直在寻找一个可以将逗号放在数字集中的短代码。
编码:
function addCommas(nStr)
{
nStr += '';
x = nStr.split('.');
x1 = x[0];
x2 = x.length > 1 ? '.' + x[1] : '';
var rgx = /(\d+)(\d{3})/;
while (rgx.test(x1)) {
x1 = x1.replace(rgx, '$1' + ',' + '$2');
}
return x1 + x2;
}
真的很棒。有这个示例组号码:
addCommas('83475934.89');
会返回"83,475,934.89"
,但是当我阅读代码时,我希望它会返回,8,3,4,7,5,934.89
但是这个网站解释说
\d+
结合\d{3}
将匹配一组 3 个数字,前面有任意数量的数字。这会欺骗搜索从右到左替换。
我很困惑。这段代码如何从右到左读取?$1
另外,是什么$2
意思?