0

Javaの正規表現の質問。要素の href 属性から ID 番号を取得しています。文字列に次のようなリンクがたくさんあります。

<a href="http://www.someplacelol.com/pdf/14669/Whatever/Doesntmatter">Whatever</a>

「pdf」とスラッシュの後には、私が興味を持っている Id 番号が続きます。そのため、文字列内でこの種の URL が複数回出現することから、すべての Id を取得する必要があります。それに最適な正規表現は何でしょうか?

前もって感謝します。

4

2 に答える 2

0

私は正規表現アーティストではありませんが、次のようにして要素から URL を取得できるはずです。

\<a\s.*?href=(?:\"([\w\.:/?=&#%_\-]*)\"|([^\"][\w\.:/?=&#%_\-]*[^\"\>])).*?\>

最初のグループには URL が含まれます。

そこから、それほど困難なく数値を抽出できるはずです。このページのソースでそのリンクをテストしたところ、すべての s ですべての HREFS を正しく識別できましたa

It breaks for <a id="<<<>><><<>>href=" href="<a href=">OPが問題の説明で、このようなHTTP標準のばかげた乱用は彼のトレイルケースには存在しないと述べているため、コメントして言わないでください。

また、何らかの奇妙な理由で要素に 2 つの href がある場合、最初の 1 つだけが取得されます。気にしていれば、おそらくそれに対処できるでしょう。

編集:<aのようなものと一致しないように、後に空白の要件を追加しまし<asdffsdfsfg href="lol">た。

于 2012-08-03T21:20:19.707 に答える
0

URLがまさにこれになることがわかっている場合、正規表現は次のようになります。

someplacelol\\.com/pdf/([0-9]+)/
于 2012-08-03T20:44:15.580 に答える