アプリ版:「スタンプのみでお礼する」機能のリリースについて

htmファイルの中から、リンクされたURL情報を抽出するのが今回の目的です。
ご相談したいのは、URL情報が一つの行中に複数ある場合の抽出方法です。

ちなみに「一つの行にある<a href>リンクが一つだけ」の場合ですと、正規表現
<a +href=('|\").*('|\") *>
でURLデータを正しく抽出できるところまで来ています。
ですが一つの行にある<a href>リンクが2つ以上あった場合は、最長一致のルールに従って、うまく抽出できません。


具体的に申し上げると、
ケース1:<a href="www.hoge.htm">ほげ</a>
<a href="www.hoge.htm">
が抽出できる。

ケース2:<a href="www.hoge.htm">ほげ</a><a href="www.hogehoge.htm">ほげほげ</a>
<a href="www.hoge.htm">ほげ</a><a href="www.hogehoge.htm">
が抽出される。(本当は2つを別々に取り出したい)

A 回答 (1件)

'' もしくは "" の間の条件を .* から [^'\"]* に変更して ' か " があった場合を除外すればできます。


ちなみに [^'\"] は「 ' か " 以外の文字列」です。

<a +href=('|\")[^'\"]*('|\") *>
    • good
    • 0
この回答へのお礼

早速のアドバイスまことに有り難うございます。
お陰様で上手くいきました!

お礼日時:2006/03/31 17:46

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!