an example >" 如何得到下面的数组: arr = ["this is", ">", " an example ", ">"] 尝试-6ren">
gpt4 book ai didi

javascript - 正则表达式:匹配所有字符串但捕获两个符号之间的组

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:29:47 24 4
gpt4 key购买 nike

问题:

给定这个字符串:

str = "this is<< just>> an example <<sentence>>"

如何得到下面的数组:

arr = ["this is", "<< just>>", " an example ", "<<sentence>>"]

尝试:

我可以拆分字符串,但是这会删除“<<”和“>>”。

str.split(/<<|>>/)
=> ["this is", " just", " an example ", "sentence"]

我可以匹配“<<”和“>>”之间的文本 block (包括“<<”和“>>”,但是这会丢失句子的其余部分。

str.match(/(<{2})(.*?>{2})/g)
=> ["<< just>>", "<<sentence>>"]

如何捕获字符串的其余部分以及单独的捕获组?

最佳答案

这是一个选项 - 匹配 <<直至并包括 >> , OR 匹配字符直到先行匹配 << 的点或字符串的结尾:

const str = "this is<< just>> an example <<sentence>> foo";
const re = /<<.+?>>|.+?(?=<<|$)/g;
console.log(str.match(re));

关于javascript - 正则表达式:匹配所有字符串但捕获两个符号之间的组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51393877/

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