-4

ハイパーリンクを使用したプロジェクトに取り組んでいます。Java の文字列からすべてのリンクを解析する必要がありますが、 http://rapidshare.comリンクのみを解析する必要があります。

解析されたすべてのリンクは、配列に入力する必要があります。私のコードは次のようになります。

Matcher mat = Pattern.compile("(\"(.*?)\"|([^,]+)),?").matcher(html);

しかし、それはまだ他の単語ブラケットとリンクを取得します. どうすればこれを機能させることができますか?

quellcode の更新

Matcher mat = Pattern.compile("/href=\\\"(http://(www\\.)?rapidshare.com/.+)\\\"/").matcher(html);

while (mat.find()) {                        
    result.add(mat.group(2) == null ? mat.group(3) : mat.group(2));                 
}
4

1 に答える 1

0

私は本番環境のFirefoxアドオンでこのjavascript正規表現を使用しています:

(?:h..ps?://)?(?:www\.)?rapidshare\.com/files/([0-9]+)/([^\s<"/]{1,500})/?

人気のあるJDownloaderJavaオープンソースソフトウェアはこれを使用しています:

//    Copyright (C) 2008  JD-Team support@jdownloader.org
"http://[\\w\\.]*?rapidshare\\.com/files/\\d+/?(.*?)($|\\?)"

これらの2つの正規表現は、特にファイルリンク用です。APIにはファイル名が必要なため、ファイル名が必要です。

于 2012-04-05T12:57:48.183 に答える