- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VB.NETで正規表現を教えてください。URL文字を取得)
VB.NETで正規表現を使用してURL文字列を取得する方法について
このQ&Aのポイント
- VB.NETでhtmlソース内のURLを抽出して保存する方法について教えてください。
- 現在、VB.NETでhtmlソース内に複数のURLがある場合、最初のURLの1文字目から最後のURLの末尾までを一度に取得してしまう問題があります。
- URLの文字列は'http://'で始まり'.jpg'で終わっている場合もあり、クリッカブルリンクになっていないURLも取得したいです。一つずつURLを取得する方法や一度に配列に読み込む方法について教えてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
> URLの文字列はhttp://で始まっていて、終わりは・・・.jpg" この条件だけ満たすなら、 New Regex("http://.+\.jpg") 正規表現の繰り返し指定(*とか+など)はできるだけ長いマッチを とろうとします。このため、.+ が複数のURLを食ってしまっている というわけです。 #085 正規表現の落とし穴 http://www.ne.jp/asahi/futohen/sankaku/h085.htm 今回の場合とりあえず正規表現を "http://.+?\.jpg" にすればいいです。 量指定子 http://msdn2.microsoft.com/ja-jp/library/3206d374(vs.80,d=toc).aspx htmlテキスト丸ごと与えて、その中からすべて取り出したいのなら Regex.Matchesメソッドを使えば一発でできます。 一つずつ処理するならイテレータを、一度に配列に取り出したいのなら CopyToメソッドを使えばいいでしょう。 Regex.Matches メソッド (String) (System.Text.RegularExpressions) http://msdn2.microsoft.com/ja-jp/library/e7sf90t3(VS.80).aspx
お礼
大変よくわかりました。 詳しいご回答ありがとうございました。 助かりました。勉強になります。