加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-14 05:59:48 所属栏目:百科 来源:网络整理
导读:我有这样的正则表达式模式: ([0-9]*)xyz 我希望做这样的替换: $10xyz 问题是$1是一个捕获组,而0只是我想要替换的数字.但正则表达式认为我要求捕获组10美元而不是1美元,之后是零. 如何引用捕获组并立即使用数字跟随它? 在这种情况下使用JavaScript. 更新如
我有这样的正则表达式模式:

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读