来自字符串
label: first, second, third
我要提取:
- 标签
- 第一
- 第二个
- 第三名
以下所有输入均有效:
label: first, second, third
label: first
label
(编辑:列表可以有 0、1 或 n 项)
我想出了两种不同的模式,但没有一种给我“正确”的结果:
(?:(\w+ (\d+))| -> (\w+)|, (\w+))+
给我
- 标签:第一、第二、第三
- ,第三名
- 标签
- 第一
第三名
re (\w+)(?::(\w+))?(?:, (\w+))*
给我
- 标签:第一、第二、第三
- 标签
- 第一
- 第三名
如何让它输出?
- 标签:第一、第二、第三
- 标签
- 第一
- 第二个
- 第三名
最佳答案
关于C++ 正则表达式 : matching a label followed by comma separated values,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47691982/