gpt4 book ai didi

javascript - 正则表达式将匹配中的所有匹配替换 x 次

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

我正在使用 javascript(来自 node.js)并且我有一个字符串:

:: something: something
::: something: more

我想将开头的所有单独的“:”替换为  但我不希望中间的“:”被替换。如果有两个冒号,则只需输入两个空格;如果只有一个冒号,则只需输入两个空格;一个空间(你明白了......)所以字符串应该变成:

   something: something
    something: more

我已经尝试过这个:

replace(/(:)|([^\n]*\n)/g," $2")

这与工作非常接近,但它在每行的开头放置了一个额外的空格,并且每行后都需要换行,否则它将替换该行上的所有“:”。在示例中使用此代码,它返回:

    something: something
    something  more

我该怎么办?

最佳答案

试试这个:

replace(/^\s*(:+)/gm,function(_,m) {return new Array(m.length+1).join(" ");});

“new Array”lark 基本上是一种廉价的方式来完成类似 PHP 的 str_repeat 的事情。 。重要的是,这只会替换行开头的冒号。

编辑以允许前导空格。

关于javascript - 正则表达式将匹配中的所有匹配替换 x 次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20735003/

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