我最近编写了一个变量解析框架,到目前为止,该框架运行良好。使用此框架编写一些财务跟踪软件时,我遇到了以下问题。
如果:
string="%{data}";
然后:
console.log(string.replace(/%\/?{(\S[^\%{}]*)}/,"$5000"));
收益$5000
。
这就是它的预期工作方式。
但是,如果我尝试以下操作:
console.log(string.replace(/%\/?{(\S[^\%{}]*)}/,"$15000"));
我得到data5000
。
我猜想$1
是JavaScript replace()
方法中使用的变量。我对吗?如果是这样,我是否可以更改String.prototype.replace()
以使用另一个变量?这也使我想知道是否甚至声明了replace方法的范围...