gpt4 book ai didi

javascript - 如何将下一个字符串分组?

转载 作者:太空宇宙 更新时间:2023-11-04 01:49:34 26 4
gpt4 key购买 nike

假设文本区域具有以下内容(字符串),哪个正则表达式可用于分组拆分?

GET /bar
{
"limit": {
"foo": 1
}
}

GET /barfoo
{
"limit": {
"foo": 1
}
}

GET /fuzz
{
"limit": 1
}

当一个组是下一个输出时我的意思是:

GET /fuzz
{
"limit": 1
}

我尝试了下一个正则表达式但没有成功:

((GET|PUT|POST|DELETE).*\n{\n(.*\n)+}\n)

最佳答案

如果您的字符串仅包含以下 block ,则可以使用拆分方法:

s.split(/[\r\n]+(?=(?:GET|PUT|POST|DELETE)\b)/)

请参阅regex demo .

详细信息

  • [\r\n]+ - 1 个或多个 CR 或/和 LF 符号
  • (?=(?:GET|PUT|POST|DELETE)\b) - 正向先行,匹配紧随其后的 GETPUTPOSTDELETE 整个单词的位置(因为 \b 是单词边界)。

由于前瞻是一种非消耗模式,即它匹配的文本不会添加到匹配值缓冲区中,因此 ALLCAPS 单词仍然会进入结果输出。

var rx = /[\r\n]+(?=(?:GET|PUT|POST|DELETE)\b)/gm;
var str = 'GET /bar\n{\n "limit": {\n "foo": 1\n }\n}\n\n\nGET /barfoo\n{\n "limit": {\n "foo": 1\n\n }\n}\n\nGET /fuzz\n{\n "limit": 1\n}';
var result = str.split(rx);
console.log(result);

关于javascript - 如何将下一个字符串分组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50233065/

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