/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
import java.util.regex.*;
class Ideone
{
{
List
<String
> strs
= Arrays.
asList("{[TEST}",
"{[} {[BEST}",
"bla {[} {[FEST}",
"TEST",
"{[} {[FEST",
"bla {[} hi {[} TEST} {[}"); {
Matcher m = Pattern.compile("\\{\\[[^}]*}|(TEST|BEST|FEST)").matcher(str);
while(m.find()) {
if (m.group(1) != null) {
m.appendReplacement(result, "NEW_"+m.group(1));
} else {
m.appendReplacement(result, m.group(0));
}
}
m.appendTail(result);
System.
out.
println(result.
toString()); }
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CmltcG9ydCBqYXZhLnV0aWwucmVnZXguKjsKCmNsYXNzIElkZW9uZQp7CglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbiAoU3RyaW5nW10gYXJncykgdGhyb3dzIGphdmEubGFuZy5FeGNlcHRpb24KCXsKCQlMaXN0PFN0cmluZz4gc3RycyA9IEFycmF5cy5hc0xpc3QoIntbVEVTVH0iLCAie1t9IHtbQkVTVH0iLCAiYmxhIHtbfSB7W0ZFU1R9IiwgIlRFU1QiLCJ7W30ge1tGRVNUIiwgImJsYSB7W30gaGkge1t9IFRFU1R9IHtbfSIpOwoJCWZvciAoU3RyaW5nIHN0ciA6IHN0cnMpCgkJewoJCQlNYXRjaGVyIG0gPSBQYXR0ZXJuLmNvbXBpbGUoIlxce1xcW1tefV0qfXwoVEVTVHxCRVNUfEZFU1QpIikubWF0Y2hlcihzdHIpOwoJCQlTdHJpbmdCdWZmZXIgcmVzdWx0ID0gbmV3IFN0cmluZ0J1ZmZlcigpOwoJCQl3aGlsZShtLmZpbmQoKSkgewoJCQkJaWYgKG0uZ3JvdXAoMSkgIT0gbnVsbCkgewoJCQkJCW0uYXBwZW5kUmVwbGFjZW1lbnQocmVzdWx0LCAiTkVXXyIrbS5ncm91cCgxKSk7CgkJCQl9IGVsc2UgewoJCQkJCW0uYXBwZW5kUmVwbGFjZW1lbnQocmVzdWx0LCBtLmdyb3VwKDApKTsKCQkJCX0KCQkJCQoJCQl9CgkJCW0uYXBwZW5kVGFpbChyZXN1bHQpOwoJCQlTeXN0ZW0ub3V0LnByaW50bG4ocmVzdWx0LnRvU3RyaW5nKCkpOwoJCX0KCgl9Cn0=