在JavaScript中获取正则表达式中的重复次数

3

这是一个关于这个问题的补充,其中提供了Notepad++的解决方案,但不适用于JavaScript。

假设我有一些随机文本:

let text = `aaaaaaaaaa
            5aaaa8aaaa
            4707aaaaaa
            a1aaaaaaaa
            923aaaaaaa`;

现在我想要将出现在换行符后面的每个数字替换为 X,以达到以下最终结果:
`aaaaaaaaaa
 Xaaaa8aaaa
 XXXXaaaaaa
 a1aaaaaaaa
 XXXaaaaaaa`

Notepad++提供的解决方案无法在此处使用,因为JavaScript中没有\G锚点,所以text.replace(/(?:\G|^)\d/gm, 'X')无法工作。

有没有其他替代方案可以在JavaScript中实现此操作,或者有其他方法可以进行替换?


尝试使用\b\d+ - guijob
@baao 只会更改每行的第一个数字,即它将第三行从“4707aaaaaa”更改为“X707aaaaaa”,而不是预期的“XXXXaaaaaa”。 - mozicid
啊,抱歉- 我理解错了。@mozicid - baao
1个回答

1
一个选项是:
text.replace(/\b(\d+)/g, m => 'X'.repeat(m.length))

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接