gpt4 book ai didi

javascript - 正则表达式拆分字符串并保留分隔符

转载 作者:行者123 更新时间:2023-12-05 02:27:25 25 4
gpt4 key购买 nike

我正在尝试拆分字符串并保持分隔符不变。我已经很接近了,但我无法完全弄清楚。我在 Stack Overflow 上找到了很多示例,但我仍然遇到一个我无法弄清楚的问题。这是代码:

"This is a string with ${G:VarSome:G} text".split(/\$\{(.+?(}\(.+?\)|}))/g)

以上代码产生:

['This is a string with ', 'G:VarSome:G}', '}', ' text']

我要找的结果是:

['This is a string with ', '${G:VarSome:G}', ' text']

${G:SomeVar:G} 模式是一个模板系统,其中将注入(inject)变量。还有其他格式的变量,例如${G:AnotherVar:1}、${G:DifferentVar:5}等。在我得到拆分字符串后,我会在系统中进行变量查找以注入(inject)相应的变量。

最佳答案

您在正则表达式中有一个额外的捕获组,这将为您提供一个组。

const result = "This is a string with ${G:VarSome:G} text".split(/(\${.+?})/g);

console.log(result);

捕获单个捕获组的正则表达式如下所示。它返回所有在 ()

中捕获的内容

/(\${.+?})/g

这应该捕获所提供的示例。 regex101

它是建立在第一次得到${ 然后延迟获取一个或多个字符 (.+?) 直到遇到 }

关于javascript - 正则表达式拆分字符串并保留分隔符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73240191/

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