using System;
using System.Text.RegularExpressions;
using System.Linq;
public class Test
{
public static void Main()
{
var s = "lat range: 49.000000 to 50.000000 actual lat 49.212059 lon range: 16.000000 to 17.000000 actual lon 16.626276";
var pattern = @"actual (?<type>lat|lon) (?<val>\d+\.\d{1,6})|(?<val>\d+\.\d{1,6}) (?<type>lat|lon)";
var results = Regex.Matches(s, pattern)
.Cast<Match>()
.ToDictionary(
m => m.Groups["type"].Value,
m => m.Groups["val"].Value);
foreach (var kv in results)
Console.WriteLine("'{0}': '{1}'", kv.Key, kv.Value);
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uVGV4dC5SZWd1bGFyRXhwcmVzc2lvbnM7CnVzaW5nIFN5c3RlbS5MaW5xOwoKcHVibGljIGNsYXNzIFRlc3QKewoJcHVibGljIHN0YXRpYyB2b2lkIE1haW4oKQoJewoJCXZhciBzID0gImxhdCByYW5nZTogNDkuMDAwMDAwIHRvIDUwLjAwMDAwMCBhY3R1YWwgbGF0IDQ5LjIxMjA1OSBsb24gcmFuZ2U6IDE2LjAwMDAwMCB0byAxNy4wMDAwMDAgYWN0dWFsIGxvbiAxNi42MjYyNzYiOwoJCXZhciBwYXR0ZXJuID0gQCJhY3R1YWwgKD88dHlwZT5sYXR8bG9uKSAoPzx2YWw+XGQrXC5cZHsxLDZ9KXwoPzx2YWw+XGQrXC5cZHsxLDZ9KSAoPzx0eXBlPmxhdHxsb24pIjsKCQl2YXIgcmVzdWx0cyA9IFJlZ2V4Lk1hdGNoZXMocywgcGF0dGVybikKCQkJLkNhc3Q8TWF0Y2g+KCkKCQkJIC5Ub0RpY3Rpb25hcnkoCgkJICAgICAgICBtID0+IG0uR3JvdXBzWyJ0eXBlIl0uVmFsdWUsCgkJICAgICAgICBtID0+IG0uR3JvdXBzWyJ2YWwiXS5WYWx1ZSk7CgkJZm9yZWFjaCAodmFyIGt2IGluIHJlc3VsdHMpCgkJCUNvbnNvbGUuV3JpdGVMaW5lKCInezB9JzogJ3sxfSciLCBrdi5LZXksIGt2LlZhbHVlKTsKCX0KfQ==