fork(7) 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 input = "X1 OR ( X2 AND( X3 AND X4 ) AND X5 ) OR X6";
  12. var filtered = Regex.Replace(input, @"\((?>[^()]|(?<o>)\(|(?<-o>)\))*\)(?(o)(?!))", string.Empty);
  13. var result = filtered.Split(new[] { ' ' },
  14. StringSplitOptions.RemoveEmptyEntries)
  15. .Where(element => element == "OR" || element == "AND");
  16. var temp = string.Join(" ", result);
  17. Console.WriteLine(temp);
  18. }
  19. }
Success #stdin #stdout 0.13s 24456KB
stdin
Standard input is empty
stdout
OR OR