2012-03-20 7 views
-1

HTMLからリンクを抽出しようとしています。私は次の正規表現を使用していますHTMLからのリンクの抽出

href=\"([^\"]*)\" 

これは、不要なリンクを抽出しています。私は正規表現で

<a href="http://users.elite.net/runner/jennifers/hello.htm" class="l"> 
<a href="http://www.hellodesign.com/" class="l"> 
<a href="http://www.ipl.org/div/hello/" class="l"> 
+3

私は正規表現でHTMLを解析する意欲は非常に有名な答えに必須の[リンク](http://stackoverflow.com/a/1732454/960195)を投稿します。 –

+2

偶然にも、私は現在、その壮大なポストの抜粋で[シャツ](http://meta.stackexchange.com/questions/108395/stack-overflow-t-shirt-3rd-anniversary-edition)を着ていますユニコーンの形で:) – BalusC

答えて

2

解析HTMLのようにクラス=「L」とのリンクのみを抽出する正規表現を書くことができますどのように不必要にovercomplicatedです。正規表現は仕事の間違ったツールです。 Jsoupのような通常のHTMLパーサを使用してください。通常の方法でHTML要素を選択することができますCSS selectors

Document document = Jsoup.parse(html); 
Elements links = document.select("a.l"); // Select all <a class="l"> elements. 

for (Element link : links) { 
    System.out.println(link.absUrl("href")); 
} 
+0

私のJSPにjsoupをインポートする方法 –

+0

JARファイルを '/ WEB-INF/lib'フォルダに落とすだけで、クラスパスに参加させることができます。ちなみに、Javaクラス(サーブレットのようなもの)では、Javaコード[属する](http://stackoverflow.com/questions/3177733/how-to-avoid-java-code-in-jsp-files)ではなくJSPファイル。 – BalusC

+0

私のJSPにjsoupをインポートすることができません。私は、Document、Elementsのシンボルを見つけることができません... –

関連する問題