※ ChatGPTを利用し、要約された質問です(原文:一つの行にURLが複数ある場合の、URL抽出方法は?)
URL抽出方法:一つの行にURLが複数ある場合の解決策
このQ&Aのポイント
htmファイルからリンクされたURL情報を抽出する方法についてご相談です。
正規表現を使用して<a href>タグを一つ抽出する方法はわかりましたが、複数のURLがある場合の対応方法が分かりません。
具体的には、一つの行に複数の<a href>タグがある場合の最適な抽出方法を教えてください。
一つの行にURLが複数ある場合の、URL抽出方法は?
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つを別々に取り出したい)
お礼
早速のアドバイスまことに有り難うございます。 お陰様で上手くいきました!