java吧 关注:1,274,989贴子:12,789,352
  • 7回复贴,共1

用java过滤<a>标签,但是文本不过滤,球解答

只看楼主收藏回复

String html = "asdfasf<html><head></head><body><a id=\"aa\" href=\"login.html\">登<录<img src=\"aaa.pig\"/></a></body></html>";
String reg = "((<[\\s]*a[^>]*>)(.*)(</a>))|(<[\\s]*a[^>]*>)";
html = html.replaceAll(reg, "$3");
System.out.println(html);
这是我写的,我想问,如果html里没有</a>的话,是不是用的后面的(<[\\s]*a[^>]*>)这句过滤,如果是,$3是什么


IP属地:北京1楼2013-11-08 15:32回复
    @windsun_ul @神宫寺铃香 @SYQSYQQQ


    IP属地:北京2楼2013-11-08 15:56
    回复
      2025-08-22 06:21:40
      广告
      不感兴趣
      开通SVIP免广告
      应该是3个任意字符吧


      IP属地:上海3楼2013-11-08 16:27
      收起回复
        如果只想过滤标签的话有个方法很简单String.replaceAll("<","&lt;").replaceAll(">","&gt;")如果只是想过滤a标签再说


        IP属地:湖北4楼2013-11-08 17:22
        收起回复
          $3是第三个捕获组。什么是组?简单来说就是正则小括号包围的内容为一个组。


          IP属地:上海来自WindowsPhone客户端5楼2013-11-14 14:02
          回复