我有一个这样的正则表达式模式:
([0-9]*)xyz
我希望做这样的替换:
$10xyz
问题在于
$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"
关于正则表达式在捕获组后替换为数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27745621/