过滤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 也会进行过滤。。

posted @ 2021-12-30 17:38  小小菜包子  阅读(308)  评论(0)    收藏  举报