using System;
using System.Text.RegularExpressions;
public class Test
{
public static void Main()
{
var text = "field1 : value1a value1b field2 : value2a value2b";
var matches = Regex.Matches(text, @"(\w+)\s*:\s*(.*?)(?=\s*\w+\s*:|$)");
foreach (Match m in matches)
{
Console.WriteLine("-- MATCH FOUND --\nKey: {0}, Value: {1}",
m.Groups[1].Value, m.Groups[2].Value);
}
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uVGV4dC5SZWd1bGFyRXhwcmVzc2lvbnM7CgpwdWJsaWMgY2xhc3MgVGVzdAp7CglwdWJsaWMgc3RhdGljIHZvaWQgTWFpbigpCgl7CiAgICAJdmFyIHRleHQgPSAiZmllbGQxICAgOiAgICB2YWx1ZTFhICB2YWx1ZTFiICAgZmllbGQyICAgOiB2YWx1ZTJhIHZhbHVlMmIiOwogICAgCXZhciBtYXRjaGVzID0gUmVnZXguTWF0Y2hlcyh0ZXh0LCBAIihcdyspXHMqOlxzKiguKj8pKD89XHMqXHcrXHMqOnwkKSIpOwoJCWZvcmVhY2ggKE1hdGNoIG0gaW4gbWF0Y2hlcykKCQl7CgkJICAgIENvbnNvbGUuV3JpdGVMaW5lKCItLSBNQVRDSCBGT1VORCAtLVxuS2V5OiB7MH0sIFZhbHVlOiB7MX0iLCAKCQkgICAgCW0uR3JvdXBzWzFdLlZhbHVlLCBtLkdyb3Vwc1syXS5WYWx1ZSk7CgkJfQoJfQp9