日期:2014-05-20  浏览次数:20693 次

Java正则表达式的一个问题
怎样使用Java正则表达式去除HTML的注释?
(用过<!--.*?-->(这个还是最大匹配,如<!--xxx-->xxxc<!--aaa-->直接到aaa后面了,xxxc都被忽略了)、<!--([^>]|[^-]->)*-->(这个意思是说匹配<!--XXX-->中XXX不为-->的),都不能匹配)
各位大哥大姐,小弟弄了几天了,都没搞定,先谢谢各位大哥大姐了。

------解决方案--------------------
Java code

public static void main(String[] args) {
        String str = "<!--xxx-->xxxc<!--aaa-->";
        str = str.replaceAll("<!--.*?-->","");
        System.out.println(str);//xxxc
    }

------解决方案--------------------
JScript code

  <script type="text/javascript">
  <!--
   var pat = /<!--[^(-->)]*-->/ig;
   alert('<!--xxx-->xxxc<!--aaa-->'.replace(pat,""));
   
  //-->
  </script>