【发布时间】:2021-07-28 08:23:35
【问题描述】:
我希望在一行中匹配由冒号分隔的多个字段值,但每个字段和值文本都包含空格 例如
field1 : value1a value1b
answer
match1: Group1=field1, Group2=value1a value1b
或
field1 : value1a value1b field2 : value2a value2b
answer
match1: Group1=field1, Group2=value1a value1b
match2: Group1=field2, Group2=value2a value2b
我现在能做的最好的就是 (\w+)\s*:\s*(\w+)
Regex regex = new Regex(@"(\w+)\s*:\s*(\w+)");
Match m = regex.Match("field1 : value1a value1b field2 : value2a value2b");
while (m.Success)
{
string f = m.Groups[1].Value.Trim();
string v = m.Group2[2].Value.Trim();
}
我想向前看可能会有所帮助,但我不知道如何做到这一点 谢谢
【问题讨论】:
-
如果你想要
Group1、Group2等标签,你必须从你的编程语言中生成它们。单独的正则表达式无法做到这一点。 -
这只是一个插图,我编辑了问题以显示示例代码。谢谢