正则表达式在捕获组后用数字替换?

前端之家收集整理的这篇文章主要介绍了正则表达式在捕获组后用数字替换?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有这样的正则表达式模式:

([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"

猜你在找的正则表达式相关文章