/*IF name!=null && !"".equals(name)*/
AND t1.name like '%/*name*/%'
/*END*/
我想用java的正则表达式把 /*IF ....*/和/*END*/之间的字符串截取出来。正则表达式要怎么写?

解决方案 »

  1.   

    直接replaceAll掉/*IF  */ /*END*/ 就行了吧。。
      

  2.   

     String input="/*IF name!=null && !\"\".equals(name)*/\nAND t1.name like '%/*name*/%'\n/*END*/";
            System.out.println(input);
            Pattern p = Pattern.compile("/\\*IF[^\\%]*\\*/(.*)/\\*END\\*/", Pattern.DOTALL);
            Matcher mc = p.matcher(input);
            String result=mc.replaceAll("$1");
            System.out.println("*************************");
            System.out.println(result);
      

  3.   

    楼主的意思是最后的结果应该是:
    AND t1.name like '%/*name*/%'