fork download
  1. import java.util.*;
  2. import java.lang.*;
  3. import java.io.*;
  4. import java.util.regex.Matcher;
  5. import java.util.regex.Pattern;
  6.  
  7. class Ideone
  8. {
  9. public static void main (String[] args) throws java.lang.Exception
  10. {
  11. String regex = "\\{((?:[^\\{}]*\\{[^\\{}]*\\}[^\\{}]*)*)\\}";
  12. String string = "{{0}}\n"
  13. + "{{0,test}}\n"
  14. + "{test {0,test}}\n"
  15. + "{{0,test} test2}\n"
  16. + "{test {0,test} test2}\n\n"
  17. + "{test {0, test} test2 {1} test3 {2}}\n"
  18. + "{test {0, test} test2 {1} test3 {2} test4}\n"
  19. + "{test {0, test} test2 {1} test3 {2} test4} test5 {3}\n\n\n"
  20. + "{{0}}\n"
  21. + "{{0,test}}\n"
  22. + "{test {0,test}}\n"
  23. + "{{0,test} test2}\n"
  24. + "{test {0,test} test2}\n\n"
  25. + "test {test {0, test} test2 {1} test3 {2}}\n"
  26. + "test {test {0, test} test2 {1} test3 {2}} {3}\n"
  27. + "test {test {0, test} test2 {1} test3 {2}} asdf\n"
  28. + "{test {0, test} test2 {1} test3 {2}}\n"
  29. + "{test {0, test} test2 {1} test3 {2} test4}\n"
  30. + "{test {0, test} test2 {1} test3 {2} test4} test5 {3}\n\n"
  31. + "test {test {0, test} test2 {1} test3 {2}} -> test {0, test} test2 {1} test3 {2}\n"
  32. + "test {test {0, test} test2 {1} test3 {2}} {3} -> test {0, test} test2 {1} test3 {2}\n"
  33. + "test {test {0, test} test2 {1} test3 {2}} asdf -> test {0, test} test2 {1} test3 {2}\n"
  34. + "{test {0, test} test2 {1} test3 {2}} -> test {0, test} test2 {1} test3 {2}\n"
  35. + "{test {0, test} test2 {1} test3 {2} test4} -> test {0, test} test2 {1} test3 {2} test4\n"
  36. + "{test {0, test} test2 {1} test3 {2} test4} test5 {3} -> test {0, test} test2 {1} test3 {2} test4\n"
  37. + "{test {0, test} test2 {1} test3 {2} test4} test5 {3 -> test {0, test} test2 {1} test3 {2} test4\n\n\n";
  38.  
  39. Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE);
  40. Matcher matcher = pattern.matcher(string);
  41.  
  42. while (matcher.find()) {
  43. System.out.println(matcher.group(1));
  44. }
  45. }
  46. }
Success #stdin #stdout 0.08s 33836KB
stdin
Standard input is empty
stdout
{0}
{0,test}
test {0,test}
{0,test} test2
test {0,test} test2
test {0, test} test2 {1} test3 {2}
test {0, test} test2 {1} test3 {2} test4
test {0, test} test2 {1} test3 {2} test4
{0}
{0,test}
test {0,test}
{0,test} test2
test {0,test} test2
test {0, test} test2 {1} test3 {2}
test {0, test} test2 {1} test3 {2}
test {0, test} test2 {1} test3 {2}
test {0, test} test2 {1} test3 {2}
test {0, test} test2 {1} test3 {2} test4
test {0, test} test2 {1} test3 {2} test4
test {0, test} test2 {1} test3 {2}
test {0, test} test2 {1} test3 {2}
test {0, test} test2 {1} test3 {2}
test {0, test} test2 {1} test3 {2}
test {0, test} test2 {1} test3 {2} test4
test {0, test} test2 {1} test3 {2} test4
test {0, test} test2 {1} test3 {2} test4