public static String transformMetachar(String input){ StringBuffer sb = new StringBuffer(); try{ String regex = "[+\\-&|!(){}\\[\\]^\"~*?:(\\)\\s]"; Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(input); while(matcher.find()){ matcher.appendReplacement(sb, "\\\\"+matcher.group()); } matcher.appendTail(sb); } catch(Exception e){ //TODO } return sb.toString();}原文:http://www.cnblogs.com/sunshisonghit/p/7218866.html