例如文本如下 <script language="javascript"> 
.... 
</script>正文<script>.... </script> 
要求最后只保留正文,而去掉两边的javascript标签,以及其标签中间的那些内容,javascript可能有很多行

解决方案 »

  1.   

        String str = "<script type='text/javascript'>fkldsjlfakdf\nfdlsjfakldf</script>";
        str = str.replaceAll("(?s)<script\\s*.*?>(.*?)</script>","$1");
        System.out.println(str);请参考,这个支持多行匹配。
    正则的部分,可以看这个 http://www.java2000.net/viewthread.jsp?tid=802#T2332
      

  2.   

    str = str.replaceAll("(?s)<script.*?>(.*?)</script>","$1");用这个更好一些,考虑了<script>121212<script>之类的不规范的写法
        String str = "<script type='text/javascript'>fkldsjlfakdf\nfdlsjfakldf</script>";
        str = str.replaceAll("(?s)<script.*?>(.*?)</script>","$1");
        System.out.println(str);