文本如下:
<div class="bm">
<div class="bm_h">
 <a href="forum.php?viewgid=1&mobile=yes">Discuz!</a>  </div>
</div>
</div>
 <div class="bm">
<div class="bm_h">
 <a href="forum.php?viewgid=2&mobile=yes">Discuz X2!</a>  </div>
</div>
</div>
需要取链接和文字

解决方案 »

  1.   

    去掉网页中的所有的html标记:  
      string temp = Regex.Replace(html, "<[^>]*>", ""); //html是一个要去除html标记的文档
      去掉网页中的所有标签  
      str = str.replaceAll("<[^>]*>", "");  
      

  2.   

    提取超链接的'/<a(.*?)href="(.*?)"(.*?)>(.*?)<\/a>/i'
      

  3.   


    String src = "<div class=\"bm_h\"> <a href=\"forum.php?viewgid=1&mobile=yes\">Discuz!</a> </div> <div><a href=\"forum.php?viewgid=2&mobile=yes\">Discuz X2!</a> </div>";
    String reg = "<a\\s+href\\s*=\\s*\"([^\"]*)\"\\s*>([^<]*)<\\s*/a>";

    Pattern p = Pattern.compile(reg);
    Matcher m = p.matcher(src); while(m.find()) {
    System.out.println("url: " + m.group(1));
    System.out.println("txt: " + m.group(2));
    System.out.println();
    }
      

  4.   


    正解 弱弱的问一下 m.group(1) 和m.group(2) 1是url从哪里看出来的
      

  5.   

    "<a\\s+href\\s*=\\s*\"([^\"]*)\"\\s*>([^<]*)<\\s*/a>"标红的两对圆括号就分别对应group(1),group(2)
      

  6.   

    不懂jsoup……
    解析html的话
    这里向大家推荐xpathXPath ,它是使用路径表达式来选取 XML 文档中的节点或节点集。节点是通过沿着路径 (path) 或者步 (steps) 来选取的。很容易上手
      

  7.   

    谢谢你的解答
    另外在问一下:有一个html页面 我要从里面取 从<form开始  到</form>结束直接的所有内容正则如何写
      

  8.   


    reg = "<form>(.*?)</form>";
    取group(1)就是你要的内容
      

  9.   


    哦补充一下,取form的话,
    这句也要改一下
    Pattern p = Pattern.compile(reg, Pattern.DOTALL);
      

  10.   

    使用 类 Jsoup 解析得到 Document 的一个实例。接下来就非常简单了。
    无论你使用 jquery风格的 select 还是dom风格的 getElementsByXXXXX 都非常直观易用。
      

  11.   

    asdhfjasdfkjsad;lkjfasdjflaksdjf;lkasjd;lfkjas;dljgfas
      

  12.   

    谢谢 alexandertech(艾瑞克.泰)
    你的解答!