文本如下:
<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>
需要取链接和文字
<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>
需要取链接和文字
string temp = Regex.Replace(html, "<[^>]*>", ""); //html是一个要去除html标记的文档
去掉网页中的所有标签
str = str.replaceAll("<[^>]*>", "");
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();
}
正解 弱弱的问一下 m.group(1) 和m.group(2) 1是url从哪里看出来的
解析html的话
这里向大家推荐xpathXPath ,它是使用路径表达式来选取 XML 文档中的节点或节点集。节点是通过沿着路径 (path) 或者步 (steps) 来选取的。很容易上手
另外在问一下:有一个html页面 我要从里面取 从<form开始 到</form>结束直接的所有内容正则如何写
reg = "<form>(.*?)</form>";
取group(1)就是你要的内容
哦补充一下,取form的话,
这句也要改一下
Pattern p = Pattern.compile(reg, Pattern.DOTALL);
无论你使用 jquery风格的 select 还是dom风格的 getElementsByXXXXX 都非常直观易用。
你的解答!