请帮我写个正则表达式,要能删除:
<!-- TemplateEndEditable -->这样的以"<!--"开头,以"-->"结尾单行注释,而像
<!--
body {
margin-left: 0px;
margin-top: 0px;
}
-->
这样多行的注释保留,

解决方案 »

  1.   

    你通过读取文件(一行一行的读)判断这一行字符串是否有“<!--” && “-->” 这两个子串这种不就可以了吗
      

  2.   

    /<!--[\b|\s|\w]*-->/
    不知道这个行不行.正则表达式很久没用了.都忘了
      

  3.   

    String reg="^<!\\-\\-[^\\-]*\\-\\->$";-在正则表达式里面是特殊字符,要转义的中间应该非-的所有字符
      

  4.   

    String str = "asdf<!-- TemplateEndEditable1 \n-->asdf" +
    "<!-- TemplateEndEditable2 \r-->" +
    "<!-- TemplateEndEditable3 -->";
    System.out.println("str:"+str);
    Pattern p = Pattern.compile("(<!\\-\\-[^\\n\\r]*\\-\\->)");
    Matcher m = p.matcher(str);
    while(m.find()){
    System.out.println("m1:"+m.group(1));
    }
      

  5.   

    我参照 jFresH_MaN的,如下可以删除,但删除后,它后面的回车并没有删掉,导致有一些空行,不知该怎么办?
      String str=text.getText();//text是文本区
        str=str.replaceAll("((<!\\-\\-[^\\-]+\\-\\->)?)|((<!\\-\\-[^\\-]+\\-\\->\r)?)","");
        StringSelection select=new StringSelection(str);
        Clipboard clip=Toolkit.getDefaultToolkit().getSystemClipboard();
        clip.setContents(select,null);//拷贝到剪贴板
      

  6.   

    不行啊,我在此基础上,再将连接2个以上的换行替换成一个,用jFresH_MaN写法还不对,
    ptn="(\\r\\n){2,}";
    str=str.replaceAll(ptn,"\\r\\n");