/* 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) {
System.
out.
println(m.
group(1) + " found in '" + str
+ "'"); }
}
}
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CmltcG9ydCBqYXZhLnV0aWwucmVnZXguKjsKCmNsYXNzIElkZW9uZQp7CglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbiAoU3RyaW5nW10gYXJncykgdGhyb3dzIGphdmEubGFuZy5FeGNlcHRpb24KCXsKCQlMaXN0PFN0cmluZz4gc3RycyA9IEFycmF5cy5hc0xpc3QoIntbVEVTVH0iLCAie1t9IHtbQkVTVH0iLCAiYmxhIHtbfSB7W0ZFU1R9IiwgIlRFU1QiLCJ7W30ge1tGRVNUIiwgImJsYSB7W30gaGkge1t9IFRFU1R9IHtbfSIpOwoJCWZvciAoU3RyaW5nIHN0ciA6IHN0cnMpCgkJewoJCQlNYXRjaGVyIG0gPSBQYXR0ZXJuLmNvbXBpbGUoIlxce1xcW1tefV0qfXwoVEVTVHxCRVNUfEZFU1QpIikubWF0Y2hlcihzdHIpOwoJCQl3aGlsZShtLmZpbmQoKSkgewoJCQkJaWYgKG0uZ3JvdXAoMSkgIT0gbnVsbCkgewoJCQkJCVN5c3RlbS5vdXQucHJpbnRsbihtLmdyb3VwKDEpICsgIiBmb3VuZCBpbiAnIiArIHN0ciArICInIik7CgkJCQl9CgkJCX0KCQl9CgoJfQp9