some text s-6ren">
gpt4 book ai didi

javascript - 如何多次执行捕获组?

转载 作者:行者123 更新时间:2023-11-28 13:18:25 26 4
gpt4 key购买 nike

我有这个字符串:

var str = "some text start:anything can be here some other text";

这是预期的结果:

//=> some text start:anythingcanbehere some other text

换句话说,我正在尝试删除此类字符串的特定范围之间的所有空格。

<小时/>

这也是我尝试过的:

(start:)(?:(\S+)(\s+))(.*)(?= some)

It works同样,但我应该执行几次才能达到预期结果..如何在正则表达式中使用 \1+ 来运行它多次?

最佳答案

您无法通过简单的正则表达式替换来完成您想要的操作,因为捕获组只能捕获一个字符串 - 没有循环。 Javascript 允许您提供一个函数作为替换,并且它可以对捕获的字符串执行更复杂的操作。

var str = "some text start:anything can be here some other text";
var newstr = str.replace(/(start:)(.*)(?= some)/, function(match, g1, g2) {
return g1 + g2.replace(/ /g, '');
});
alert(newstr);

关于javascript - 如何多次执行捕获组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35614478/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com