0

コンソールアプリケーションがこれらの値をすべてhtmlWebページに返すようにしようとしています。 <img border="0" alt="img.jpg" title="img.jpg" src="/_layouts/images/icjpg.gif" />

しかし、私はにのみ興味がありtitle="img.jpg"ます。title="img.jpg"正規表現を使用してこれらをフィルタリングできることは確認しましたが、残りをフィルタリングして、値を保持する方法がわかりません。title="THIS"

どんな助けでもいただければ幸いです。

正規表現のこのチートリストを見た

4

2 に答える 2

7

より良い解決策は、HtmlAgilityPack を使用して HTML を解析することです。

http://htmlagilitypack.codeplex.com/

例 [border = "0" の img タグのみ]

HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(your html string);

List<String> titles = (from x in doc.DocumentNode.Descendants()
                       where x.Name == "img"
                       && x.Attributes["title"] != null
                       && x.Attributes["border"] != null
                       && x.Attributes["border"].Value == "0"
                       select x.Attributes["title"].Value).ToList<String>();

この LINQ コードは、すべての img タグのタイトルを返します。

于 2012-11-07T10:42:24.513 に答える
2

codeplexHtmlAglityPackを使用してみてください。または、この正規表現を試すことができます

<img[^>]*(?<title>title=\"[^\"]+\")[^>]*>

および LINQ を使用したサンプル コード:

var result = from Match match 
             in Regex.Matches(strInput, "<img[^<]*(?<title>title=\"[^\"]+\")[^<]*>")
             select match.Groups["title"].Value;
于 2012-11-07T10:43:54.290 に答える