我有这个字符串包含一大块html,我试图从字符串的href =“…”部分提取链接. href可以采用以下形式之一:
<a href="..." /> <a class="..." href="..." />
我没有真正的正则表达式的问题,但出于某种原因我使用以下代码:
String innerHTML = getHTML(); Pattern p = Pattern.compile("href=\"(.*)\"",Pattern.DOTALL); Matcher m = p.matcher(innerHTML); if (m.find()) { // Get all groups for this match for (int i=0; i<=m.groupCount(); i++) { String groupStr = m.group(i); System.out.println(groupStr); } }
有人能告诉我我的代码有什么问题吗?我在PHP中做了这些东西,但在Java中,我在某种程度上做错了什么…发生的事情是,每当我尝试打印它时,它会打印整个html字符串…
编辑:这样每个人都知道我正在处理什么样的字符串:
<a class="Wrap" href="item.PHP?id=43241"><input type="button"> <span class="chevron"></span> </a> <div class="menu"></div>
每次我运行代码时,它会打印整个字符串……这就是问题所在……
关于使用jTidy ……我正在使用它,但知道在这种情况下出了什么问题会很有趣……