fork download
  1. import java.util.*;
  2. import java.lang.*;
  3. import java.io.*;
  4. import java.util.regex.*;
  5. class Ideone
  6. {
  7. public static void main (String[] args) throws java.lang.Exception
  8. {
  9. // Input:
  10. String queryText = " SELECT stuff FROM stufftable WHERE oid_2 = $$test$$ || oid_2 = $$test2$$";
  11. String test = "1";
  12. String test2 = "2";
  13. Map<String, String> map = new HashMap<>();
  14. map.put("test", test);
  15. map.put("test2", test2);
  16.  
  17. StringBuffer result = new StringBuffer();
  18. Matcher m = Pattern.compile("\\${2}(.*?)\\${2}").matcher(queryText);
  19. while (m.find()) {
  20. if (!m.group(1).isEmpty()) {
  21. m.appendReplacement(result, map.get(m.group(1)));
  22. }
  23. else {
  24. m.appendReplacement(result, m.group(0));
  25. }
  26. }
  27. m.appendTail(result);
  28. System.out.println(result.toString());
  29.  
  30. }
  31. }
Success #stdin #stdout 0.04s 4386816KB
stdin
Standard input is empty
stdout
 SELECT stuff FROM stufftable WHERE oid_2 = 1 || oid_2 = 2