-1

私はhtmlコードを持っています。私はそのような正規表現でそれを解析します

MatchCollection matches = Regex.Matches(go, @"photoWrapper""><div><a href=""(?<id>[^""]+?)\?");

私は受け取ります:

matches[0].Groups["id"].Value = "/group/47502002094086";
matches[1].Groups["id"].Value = "/dk";
matches[2].Groups["id"].Value = "/prostooglavnom";

マッチでのみ受信するために、正規表現を編集する方法またはsmthを追加する方法

matches[0].Groups["id"].Value = "47502002094086";
matches[1].Groups["id"].Value = "prostooglavnom";

ヘルプはありますか?= \完全なhtmlコード:http://pastebin.com/xEJNiD4G

4

1 に答える 1

7

正規表現がHTMLの解析に適していない理由を自分で発見したばかりです。

HTMLAgilityPackを使用してHTML を解析およびクエリすることをお勧めします。

ソースダウンロードには、多くのサンプルプロジェクトが付属しています。

Html Agility Pack(HAP)とは正確には何ですか?

これは、読み取り/書き込みDOMを構築し、プレーンXPATHまたはXSLTをサポートするアジャイルHTMLパーサーです(実際には、XPATHまたはXSLTを理解して使用する必要はありません。心配しないでください...)。これは、「Web外」のHTMLファイルを解析できるようにする.NETコードライブラリです。パーサーは、「現実世界」の不正な形式のHTMLに対して非常に寛容です。オブジェクトモデルは、System.Xmlを提案するものと非常に似ていますが、HTMLドキュメント(またはストリーム)用です。

于 2012-12-14T14:13:51.827 に答える