using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text.RegularExpressions;
public class Test
{
public static void Main()
{
var strs = new[] { "aaa bbbb; Name=John Lewis; ccc ddd; Age=20;", "AAA bbbb; Age=21;" };
var pattern = @"(?:\bName=(?<Name>[^;]+).*?;\s+)?\bAge=(?<Age>\d+)";
foreach (var str in strs)
{
var result = Regex.Match(str, pattern);
if (result.Success)
Console.WriteLine("Name: \"{0}\", Age: \"{1}\"", result.Groups["Name"].Value, result.Groups["Age"].Value);
}
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLklPOwp1c2luZyBTeXN0ZW0uTGlucTsKdXNpbmcgU3lzdGVtLlRleHQuUmVndWxhckV4cHJlc3Npb25zOwoKcHVibGljIGNsYXNzIFRlc3QKewoJcHVibGljIHN0YXRpYyB2b2lkIE1haW4oKQoJewoJCXZhciBzdHJzID0gbmV3W10geyAiYWFhIGJiYmI7IE5hbWU9Sm9obiBMZXdpczsgY2NjIGRkZDsgQWdlPTIwOyIsICJBQUEgYmJiYjsgQWdlPTIxOyIgfTsKICAgIAl2YXIgcGF0dGVybiA9IEAiKD86XGJOYW1lPSg/PE5hbWU+W147XSspLio/O1xzKyk/XGJBZ2U9KD88QWdlPlxkKykiOwogICAgCWZvcmVhY2ggKHZhciBzdHIgaW4gc3RycykgCiAgICAJewogICAgCQl2YXIgcmVzdWx0ID0gUmVnZXguTWF0Y2goc3RyLCBwYXR0ZXJuKTsKICAgIAkJaWYgKHJlc3VsdC5TdWNjZXNzKSAKICAgICAgCQkJQ29uc29sZS5Xcml0ZUxpbmUoIk5hbWU6IFwiezB9XCIsIEFnZTogXCJ7MX1cIiIsIHJlc3VsdC5Hcm91cHNbIk5hbWUiXS5WYWx1ZSwgcmVzdWx0Lkdyb3Vwc1siQWdlIl0uVmFsdWUpOwogICAgCX0KCX0KfQ==