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

标签 regex

我有一个这样的正则表达式模式:

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

相关文章:

java - 正则表达式:如果不需要的子模式出现在模式之前,如何检测模式?

python - 如何优化这个正则表达式模式

Javascript跳过字符串中的双管道

PHP PCRE 允许字符串中的嵌套模式(递归)

python - 在 python 中,是否有最佳实践方法来清理包含需要转义字符的正则表达式搜索字符串?

r - 按组高效过滤多列

regex - 用正则表达式重复替换 Bash 字符串

python - R中的正则表达式命名组

java - 正则表达式同时显示不同的返回不同的结果

javascript - 从成功的正则表达式中获取字符串?