我有一个字符串,内容为:
\n<a href=\"http:\/\/aaaaaaaaaa.bbbb.ccccccc\/ad?\/asdfasdf\/asdfasdfsd*1asdfasdas!\/a\/asdfasdfasd\"><img src=\"http:\/\/asdfasdf.asdfasdf.as.com\/psb?\/asdfasdfasdf!\/a\/asdfasdf\" alt=\"\"\/><\/a>\nmy 123\n12345678我要使用正则表达式表示<a href ....</a>这段内容,然后用str = str1.replaceAll(reg,"");来去掉这段正则表达式所表示的内容,最后剩下的字符串为:
\nmy 123\n12345678请高手指教如何写这段正则表达式呢?小妹多谢啦。

解决方案 »

  1.   

    <script>
    var a = "\n<a href=\"http:\/\/aaaaaaaaaa.bbbb.ccccccc\/ad?\/asdfasdf\/asdfasdfsd*1asdfasdas!\/a\/asdfasdfasd\"><img src=\"http:\/\/asdfasdf.asdfasdf.as.com\/psb?\/asdfasdfasdf!\/a\/asdfasdf\" alt=\"\"\/><\/a>\nmy 123\n12345678";
    a = a.replace(/<a.*?><\/a>/,"");
    alert(a);
    </script>
      

  2.   

    正则可以这么写
    String reg = "<a href=\\S*/a>";
    str = str.replaceAll(reg, "");
      

  3.   

    我这样写的:
    String reg = "<a href=\\S*</a>" ;
    String str = "\n<a href=\"http://abcd/psb?/abceasd/asdfas*asdfasdf!/a/asdfsdfasdf\"><img src=\"http://asdfasdf.asdf.asdf/psb?/asdfasdf/asdfasdfew232*asdfasdf*fBum4!/a/asdfasdf\" alt=\"\"/></a>\nasdfasdfasdf\nasdfas asdfas asdf" ;
    String str1 = str.replaceAll(reg, "");
    System.out.println("-----------str="+str);
    System.out.println("---------str1="+str1);但打印结果为:
    -----------str=
    <a href="http://abcd/psb?/abceasd/asdfas*asdfasdf!/a/asdfsdfasdf"><img src="http://asdfasdf.asdf.asdf/psb?/asdfasdf/asdfasdfew232*asdfasdf*fBum4!/a/asdfasdf" alt=""/></a>
    asdfasdfasdf
    asdfas asdfas asdf
    ---------str1=
    <a href="http://abcd/psb?/abceasd/asdfas*asdfasdf!/a/asdfsdfasdf"><img src="http://asdfasdf.asdf.asdf/psb?/asdfasdf/asdfasdfew232*asdfasdf*fBum4!/a/asdfasdf" alt=""/></a>
    asdfasdfasdf
    asdfas asdfas asdf仍然没有过滤掉<a href=...</a>之间的部分,怎么回事呢?
      

  4.   

    你的字符串中有空白字符……
     
    把正则换成:String reg = "<a href=\\p{ASCII}*</a>";
      

  5.   

    kiss601459202,真的太感谢啦!能帮我解释下你写的正则表达式的意思吗?
      

  6.   

    了解了,是所有的ACSII字符,多谢啦。给分!