using System;
using System.Collections.Generic;
using System.Linq;
using System.Text.RegularExpressions;
public class Test
{
public static void Main()
{
var text = "[tex1] [text [2]]";
var pattern = @"\[((?>[^][]+|(?<o>)\[|(?<-o>]))*)]";
var results = Regex.Matches(text, pattern);
foreach (Match match in results)
{
Console.WriteLine($"Group 2: {match.Groups[1].Value}");
}
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLkxpbnE7CnVzaW5nIFN5c3RlbS5UZXh0LlJlZ3VsYXJFeHByZXNzaW9uczsKCnB1YmxpYyBjbGFzcyBUZXN0CnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBNYWluKCkKCXsKICAgIAl2YXIgdGV4dCA9ICJbdGV4MV0gW3RleHQgWzJdXSI7CiAgICAJdmFyIHBhdHRlcm4gPSBAIlxbKCg/PlteXVtdK3woPzxvPilcW3woPzwtbz5dKSkqKV0iOwogICAgCXZhciByZXN1bHRzID0gUmVnZXguTWF0Y2hlcyh0ZXh0LCBwYXR0ZXJuKTsKICAgICAgICBmb3JlYWNoIChNYXRjaCBtYXRjaCBpbiByZXN1bHRzKSAKICAgICAgICB7CiAgICAgICAgCUNvbnNvbGUuV3JpdGVMaW5lKCQiR3JvdXAgMjoge21hdGNoLkdyb3Vwc1sxXS5WYWx1ZX0iKTsKICAgICAgICB9Cgl9Cn0=