DOBON.NET DOBON.NETプログラミング掲示板過去ログ

テキストURLの抽出の仕方

環境/言語:[C# VS2008 .NET3.5]
分類:[.NET]

はじめまして。田中と申します。
どうしてもわからないことがあってこちらに投稿させてもらいました。

HTMLからテキストのURLを抽出し<a>タグに変換するプログラムを作っています。
いろいろなサンプルを参考にしHTMLを抽出するまではできたのですが、余計な箇所まで抽出されて困っています。どなたかご教授ください。

やりたいこと
「ttp:」から始まるURLのみ抽出したいと思っています。
現在のものだと「http:」も抽出されてしまいます。

抽出したいテキストURL
ttp://〜省略〜.jpg

間違って抽出されてしまうもの
http://〜省略〜.jpg

var html = "HTML";

Regex re = new Regex("ttp://(\"|\')?([^<|>|\"|\'|\n]+)\\.(jpg|jpeg|png|gif)?",RegexOptions.IgnoreCase | RegexOptions.Singleline);

var html_temp = re.Replace(html,string.Format("a href=\"$&\" target=\"_blank\">{0}","リンク"));

よろしくお願いします。
■No28135に返信(田中さんの記事)

(^|[^h])(?<TrgURL>ttp: ・・・ \n]+?\.(jpg|jpeg|png|gif))

$& => $<TrgURL>

これでいけますか?
shuさん

ご教授していただきありがとうございます。
正規表現文の先頭に(^|[^h])を足したところ
望んでいた動きになることができました。
ありがとうございますー


■No28137に返信(shuさんの記事)
> ■No28135に返信(田中さんの記事)
>
> (^|[^h])(?<TrgURL>ttp: ・・・ \n]+?\.(jpg|jpeg|png|gif))
>
> $& => $<TrgURL>
>
> これでいけますか?
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板