using System;
using System.Linq;
using System.Text.RegularExpressions;
public class Test
{
public static void Main()
{
var inputString = "car[brand=saab][wheels=4]";
var lst=Regex.Matches(inputString, @"(\w+)((?:\[.*?\])+)").Cast<Match>()
.Select(x=>new
{
name=x.Groups[1].Value,
value=Regex.Matches(x.Groups[2].Value,"\\[.*?\\]").Cast<Match>()
.Select(y=>new
{
name= y.Groups[0].Value.Split('=')[0],
value= y.Groups[0].Value.Split('=')[1]
})
});
foreach(var parent in lst)
{
Console.WriteLine(parent.name);
foreach(var pairs in parent.value)
{
Console.WriteLine(pairs.name);
Console.WriteLine(pairs.value);
}
}
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uTGlucTsKdXNpbmcgU3lzdGVtLlRleHQuUmVndWxhckV4cHJlc3Npb25zOwogCnB1YmxpYyBjbGFzcyBUZXN0CnsKICAgICAgICBwdWJsaWMgc3RhdGljIHZvaWQgTWFpbigpCiAgICAgICAgewogICAgICAgICAgICAgICAgdmFyIGlucHV0U3RyaW5nID0gImNhclticmFuZD1zYWFiXVt3aGVlbHM9NF0iOwogICAgICAgICAgICAgICAgdmFyIGxzdD1SZWdleC5NYXRjaGVzKGlucHV0U3RyaW5nLCBAIihcdyspKCg/OlxbLio/XF0pKykiKS5DYXN0PE1hdGNoPigpCiAgICAgICAgICAgICAgICAgLlNlbGVjdCh4PT5uZXcKICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT14Lkdyb3Vwc1sxXS5WYWx1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9UmVnZXguTWF0Y2hlcyh4Lkdyb3Vwc1syXS5WYWx1ZSwiXFxbLio/XFxdIikuQ2FzdDxNYXRjaD4oKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5TZWxlY3QoeT0+bmV3CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9IHkuR3JvdXBzWzBdLlZhbHVlLlNwbGl0KCc9JylbMF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9IHkuR3JvdXBzWzBdLlZhbHVlLlNwbGl0KCc9JylbMV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICBmb3JlYWNoKHZhciBwYXJlbnQgaW4gbHN0KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBDb25zb2xlLldyaXRlTGluZShwYXJlbnQubmFtZSk7CiAgICAgICAgICAgICAgICBmb3JlYWNoKHZhciBwYWlycyBpbiBwYXJlbnQudmFsdWUpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIENvbnNvbGUuV3JpdGVMaW5lKHBhaXJzLm5hbWUpOwogICAgICAgICAgICAgICAgICAgICAgICBDb25zb2xlLldyaXRlTGluZShwYWlycy52YWx1ZSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gICAgICAgICAgICAgICAKICAgICAgICB9Cn0=