我有这样的正则表达式模式:
([0-9]*)xyz
Run Code Online (Sandbox Code Playgroud)
我希望做这样的替换:
$10xyz
Run Code Online (Sandbox Code Playgroud)
问题是,它$1是一个捕获组,而这0只是我想要替换的数字.但正则表达式认为我要求捕获组$10而不是$1之后的零.
如何引用捕获组并立即使用数字跟随它?
在这种情况下使用JavaScript.
更新如下所述,我的代码确实运行良好.我使用的正则表达式测试程序被意外设置为PCRE而不是JavaScript.
你的代码确实工作得很好。在 JavaScript 正则表达式替换语法$10引用捕获组10。但是,如果10尚未设置组,则会1插入组,然后插入文字0。
var r = '123xyz'.replace(/([0-9]*)xyz/, '$10xyz');
console.log(r); //=> "1230xyz"
Run Code Online (Sandbox Code Playgroud)