この文字列には大量の 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の使用について...私はそれに取り組んでいますが、この場合にも何がうまくいかなかったのかを知ることは興味深いでしょう...