import java.util.*;
import java.lang.*;
import java.io.*;
import java.util.regex.*;
class Ideone
{
{
// Input:
String queryText
= " SELECT stuff FROM stufftable WHERE oid_2 = $$test$$ || oid_2 = $$test2$$"; Map
<String, String
> map
= new HashMap
<>(); map.put("test", test);
map.put("test2", test2);
Matcher m = Pattern.compile("\\${2}(.*?)\\${2}").matcher(queryText);
while (m.find()) {
if (!m.group(1).isEmpty()) {
m.appendReplacement(result, map.get(m.group(1)));
}
else {
m.appendReplacement(result, m.group(0));
}
}
m.appendTail(result);
System.
out.
println(result.
toString());
}
}
aW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CmltcG9ydCBqYXZhLnV0aWwucmVnZXguKjsKY2xhc3MgSWRlb25lCnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgoJewoJCS8vIElucHV0OgoJCVN0cmluZyBxdWVyeVRleHQgPSAiIFNFTEVDVCBzdHVmZiBGUk9NIHN0dWZmdGFibGUgV0hFUkUgb2lkXzIgPSAkJHRlc3QkJCB8fCBvaWRfMiA9ICQkdGVzdDIkJCI7IAoJCVN0cmluZyB0ZXN0ID0gIjEiOwoJCVN0cmluZyB0ZXN0MiA9ICIyIjsKCQlNYXA8U3RyaW5nLCBTdHJpbmc+IG1hcCA9IG5ldyBIYXNoTWFwPD4oKTsKCQltYXAucHV0KCJ0ZXN0IiwgdGVzdCk7CgkJbWFwLnB1dCgidGVzdDIiLCB0ZXN0Mik7CgoJCVN0cmluZ0J1ZmZlciByZXN1bHQgPSBuZXcgU3RyaW5nQnVmZmVyKCk7CgkJTWF0Y2hlciBtID0gUGF0dGVybi5jb21waWxlKCJcXCR7Mn0oLio/KVxcJHsyfSIpLm1hdGNoZXIocXVlcnlUZXh0KTsKCQl3aGlsZSAobS5maW5kKCkpIHsKICAgIAkJaWYgKCFtLmdyb3VwKDEpLmlzRW1wdHkoKSkgewoJCSAgICAJbS5hcHBlbmRSZXBsYWNlbWVudChyZXN1bHQsIG1hcC5nZXQobS5ncm91cCgxKSkpOwogICAgCQl9CgkJICAgIGVsc2UgewoJCQkgICBtLmFwcGVuZFJlcGxhY2VtZW50KHJlc3VsdCwgbS5ncm91cCgwKSk7CgkJICAgIH0KCQl9CgkJbS5hcHBlbmRUYWlsKHJlc3VsdCk7CgkJU3lzdGVtLm91dC5wcmludGxuKHJlc3VsdC50b1N0cmluZygpKTsKCgl9Cn0=