fork(1) download
  1. using System;
  2. using System.Collections.Generic;
  3. using System.IO;
  4. using System.Linq;
  5. using System.Text.RegularExpressions;
  6.  
  7. public class Test
  8. {
  9. public static void Main()
  10. {
  11. var reg = @"\b(?:Create|Set|Delete)\((?>[^()]+|(?<c>)\(|(?<-c>)\))*(?(c)(?!))\)";
  12. var text = "Create(Apple | Banana(Tree) | Mango (Tree) ) | Delete(Guava)|Set(Orange(Tree))";
  13. var result = Regex.Matches(text, reg).Cast<Match>().Select(x => x.Value).ToList();
  14. foreach (var s in result)
  15. Console.WriteLine(s);
  16. }
  17. }
Success #stdin #stdout 0.09s 22144KB
stdin
Standard input is empty
stdout
Create(Apple | Banana(Tree) | Mango (Tree) )
Delete(Guava)
Set(Orange(Tree))