假设textarea具有以下内容(字符串),哪个正则表达式可用于拆分组?
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)
答案 0 :(得分:0)
如果您的字符串仅包含这些块,则可以使用拆分方法:
s.split(/[\r\n]+(?=(?:GET|PUT|POST|DELETE)\b)/)
请参阅regex demo。
<强>详情
[\r\n]+
- 一个或多个CR或/和LF符号(?=(?:GET|PUT|POST|DELETE)\b)
- 与GET
,PUT
,POST
或DELETE
整个单词紧随其后的位置匹配的正向前瞻(自{{ 1}}是一个单词边界。)由于前瞻是非消费模式,即它匹配的文本没有添加到匹配值缓冲区,ALLCAPS字仍会进入结果输出。
\b