using System.Text.RegularExpressions;
public static void Main()
var text = @"(example (to (parsing nested paren) but) (first lvl only))";
var pattern = @"\(([\w\s]+) (\([\w\s]+ \([\w\s]+\) [\w\s]+\)) (\([\w\s]+\))\)*";
string[] results = new string[]{};
Regex r = new Regex(pattern, RegexOptions.IgnoreCase);
string group_1 = m.Groups[1].Value;
string group_2 = m.Groups[2].Value;
string group_3 = m.Groups[3].Value;
results = new string[]{group_1,group_2,group_3};
results = new string[]{"error"};
for (int i=0;i<results.Length;i++){
Console.WriteLine(results[i]) ;