我有一个看似简单的任务,但对我不起作用。仅使用 PCRE2 Regex(仅此而已),我试图在一行开头的第一个冒号之前收集一个短语,然后将所有逗号分隔值分开并放在同一组中。
以下是一些示例文本:
形状:圆形、矩形、三角形
垃圾线:这部分在这里应该可以工作,但是:确保最后一个冒号没有被捕获
应该这样捕获:
第 1 组:
形状:
第 2 组:
圆形
矩形
三角形
第 1 组:
垃圾行:
第 2 组:
这部分
在这里
应该可以工作
但是:确保
没有捕获到
最后一个冒号
我知道逗号分隔值可以通过多种方式捕获,如下所示:
([^,]+)
但是,如果我尝试在开头添加任何内容,匹配将在第一个逗号后停止,因此:
(.*):([^,]+)
将不起作用(加上它无论如何都会捕获一行中的第二个冒号)。任何帮助表示赞赏!
编辑添加:匹配应该在行尾停止,所以是这样的:
一:二、三
黄:蓝、绿
不应将“黄色”作为“二、三”的一部分进行捕捉。“黄色”应该作为第一组的新实例被捕获