过滤sql语句中的注释
/**
* 过滤sql'语句中的注释
* @param sqlScript
* @return
*/
public static String filterComments(String sqlScript) {
//匹配注释的正则,去除注释
String pattern = "(/\\*([^*]|[\\r\\n]|(\\*+([^*/]|[\\r\\n])))*\\*+/)|'(?:[^']|'')*'|(--.*)";
Pattern r = Pattern.compile(pattern);
Matcher m = r.matcher(sqlScript);
sqlScript = m.replaceAll("");
return sqlScript;
}
注意:正则表达式匹配“--”后面的内容,格式要带换行符传给后端去执行过滤,对于一些select “--内容--”as filed from table 也会进行过滤。。

浙公网安备 33010602011771号