|
■No74418 (くま さん) に返信 > 大変失礼いたしました。申し訳ありません。 > asp.net の c#です。
だとすると、
> >>@"(?<=class=""test""\>\<img.*src="").*(?="" />)") これは、 @"(?<=class=""test""\>\<img.*src="").*(?="" />)" なのではありませんか? \も余計な気がしますが。
// var url = Regex.Match(s, @"(?<=class=""test""\>\<img.*src="").*(?="" />)");
>>>ここまで出来ています。
このままだとマッチしないと思いますよ。
提示頂いた正規表現の場合、 「class="test"><img〜〜〜src="」と「" />」に囲まれた『0文字以上の文字列』 という意味になるかと思います。
しかし今回の場合、「<img」の前にあるのは 「class="test">」ではなく「class="test">{改行}」ですよね。
改行だけでなく、タブや空白などを含む可能性も考慮すると、 var url = Regex.Match(s, @"(?<=class=""test""\s*>\s*<img.*src="").*(?="" />)"); あたりで如何でしょうか。 元データの表記揺れ次第では、これでもまだ十分では無いですが。
|