2011-01-21

[C#]正規表現を利用する

C#では、
以下のサンプルは、TwitPicAPIが出力する画像の情報(JSON形式)から、正規表現で画像のURLを取り出すプログラムの抜粋です。TwitPicから送られてくるURLには、スラッシュ(/)の前にバックスラッシュ(\)が入っているので、それを事前に除いてます。不要であればその処理はカットしてもいいでしょう。

using System.Text.RegularExpressions;

//以下、txtにtwitpicからの戻り値のデータが入っているという前提
Regex re;
// \/ → / に置換する処理
ptn = "\\\\";
re = new Regex(ptn);
txt = re.Replace(txt, "");

// urlに該当する箇所を抽出する正規表現
ptn = "url\":\"(?<uri>.*?)\"";//(注意)ここの左括弧(<)は半角に戻してください
re = new Regex(ptn);
Match m = re.Match(txt);

//マッチするものが1つに限定される場合(今回はこちらでOK)
string url = m.Groups["uri"].Value; // urlに結果が入ってます。

//もし複数マッチする場合があったら、下記のようにします。
for (Match m = re.Match(txt); m.Success; m = m.NextMatch()) {
    string url = m.Groups["uri"].Value;
}



0 件のコメント:

コメントを投稿