using System;
using System.Linq;
using System.Collections.Generic;
using System.Text.RegularExpressions;
public class Test
{
public static void Main()
{
var s = "[ad-sad]asd.,/?|\":{{}[a!@#$%^&()**d [en]aedasd;";
var results = Regex.Matches(s, @"\[([\w-]+)](.*?)(?=\[[\w-]+]|$)")
.Cast<Match>()
.Select(x => new[] {x.Groups[1].Value, x.Groups[2].Value});
foreach (var result in results)
{
Console.WriteLine($"{result[0]} => {result[1]}");
}
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uTGlucTsKdXNpbmcgU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWM7CnVzaW5nIFN5c3RlbS5UZXh0LlJlZ3VsYXJFeHByZXNzaW9uczsKcHVibGljIGNsYXNzIFRlc3QKewoJcHVibGljIHN0YXRpYyB2b2lkIE1haW4oKQoJewoJICAgIHZhciBzID0gIlthZC1zYWRdYXNkLiwvP3xcIjp7e31bYSFAIyQlXiYoKSoqZCBbZW5dYWVkYXNkOyI7CgkgICAgdmFyIHJlc3VsdHMgPSBSZWdleC5NYXRjaGVzKHMsIEAiXFsoW1x3LV0rKV0oLio/KSg/PVxbW1x3LV0rXXwkKSIpCgkJIAkJLkNhc3Q8TWF0Y2g+KCkKCQkgCQkuU2VsZWN0KHggPT4gbmV3W10ge3guR3JvdXBzWzFdLlZhbHVlLCB4Lkdyb3Vwc1syXS5WYWx1ZX0pOwoJICAgIGZvcmVhY2ggKHZhciByZXN1bHQgaW4gcmVzdWx0cykgCgkgICAgewoJICAgICAgICBDb25zb2xlLldyaXRlTGluZSgkIntyZXN1bHRbMF19ID0+IHtyZXN1bHRbMV19Iik7CgkgICAgfQoJfQp9