fork download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6. import java.util.regex.*;
  7.  
  8. class Ideone
  9. {
  10. public static void main (String[] args) throws java.lang.Exception
  11. {
  12. List<String> strs = Arrays.asList("{[TEST}", "{[} {[BEST}", "bla {[} {[FEST}", "TEST","{[} {[FEST", "bla {[} hi {[} TEST} {[}");
  13. for (String str : strs)
  14. {
  15. Matcher m = Pattern.compile("\\{\\[[^}]*}|(TEST|BEST|FEST)").matcher(str);
  16. StringBuffer result = new StringBuffer();
  17. while(m.find()) {
  18. if (m.group(1) != null) {
  19. m.appendReplacement(result, "NEW_"+m.group(1));
  20. } else {
  21. m.appendReplacement(result, m.group(0));
  22. }
  23.  
  24. }
  25. m.appendTail(result);
  26. System.out.println(result.toString());
  27. }
  28.  
  29. }
  30. }
Success #stdin #stdout 0.09s 321600KB
stdin
Standard input is empty
stdout
{[TEST}
{[} {[BEST}
bla {[} {[FEST}
NEW_TEST
{[} {[NEW_FEST
bla {[} hi {[} NEW_TEST} {[}