2

私は正規表現を使用して HTML を解析していますが、一部の記事では HTMLAgilityPack の方がはるかに簡単であると書かれています。私にとって大きな問題は、このサンプル (twitter) の html を解析する方法です。

これは HTML コードです:

<p class="js-tweet-text tweet-text"> What an awesome day! Adventure nanaman kahapon <a href="http" data-query-source="hashtag_click" class="twitter-hashtag pretty-link js-nav" dir="ltr"><s>#</s><b><strong>ondoy</strong></b></a> <a href="https://twitter.com/search?q=%23eurotel&src=hash" data-query-source="hashtag_click" class="twitter-hashtag pretty-link js-nav" dir="ltr"><s>#</s><b>eurotel</b></a> <a href="https://twitter.com/search?q=%23retail&src=hash" data-query-source="hashtag_click" class="twitter-hashtag pretty-link js-nav" dir="ltr"><s>#</s><b>retail</b></a> <a href="https://twitter.com/search?q=%23family&src=hash" data-query-source="hashtag_click" class="twitter-hashtag pretty-link js-nav" dir="ltr"><s>#</s><b>family</b></a></p>

そして、私はそれを次のように出力したい:

「なんて素晴らしい日でしょう! アドベンチャーななまんかはぽん #ondoy #eurotel #retail #family」

そのhtmlコードを解析するにはどうすればよいですか。現在正規表現を使用していますが、href などの他のタグが表示されます。

これは私の正規表現コードです。

           WebClient web = new WebClient(); 
           string html = web.DownloadString(filename);

            MatchCollection m1 = Regex.Matches(html, "<p class=\"js-tweet-text tweet-text\">\\s*(.+?)\\s*</p>", RegexOptions.Singleline);
            foreach (Match m in m1)
            {
                MessageBox.Show(m.Groups[1].Value);
            }
4

1 に答える 1