匹配开始<![CDATA[  结尾是 ]]>.例如:
<![CDATA[Your case # {!Case]]>输出结果应该为Your case # {!Case}  把匹配上的结果清空。

解决方案 »

  1.   

    手打,没测试,试试看:
    str = str.replaceAll("<!\\[CDATA\\[(.*?)\\]\\]>", "$1");
      

  2.   

    在稍微改动下,把特殊字符都转义下
    str = str.replaceAll("\\<\\!\\[CDATA\\[(.*?)\\]\\]\\>", "$1");
      

  3.   

    str = str.replaceAll("^\\<\\!\\[CDATA\\[(.*?)\\]\\]\\>$", "$1");加上起始结尾符
      

  4.   

    import java.util.regex.Matcher;
    import java.util.regex.Pattern;public class test1 { /**
     * @param args
     */
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    //System.out.println(Double.compare(0,0));
    String regex = "(?<=\\<\\!\\[CDATA\\[).*?(?=\\]\\]\\>)";
    String str = "<![CDATA[  结尾是 ]]>";
    Matcher m =Pattern.compile(regex).matcher(str);
    while(m.find()){
    System.out.println(m.group());
    }
    }}
      

  5.   

    !和<>不是元字符,不需要转义
    String regex = "(?<=<!\\[CDATA\\[).*?(?=\\]\\]>)";
    即可