• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:C#で正規表現)

C#で正規表現

このQ&Aのポイント
  • C#で正規表現を使用してHTML形式の文字列から情報を取得する方法について教えてください。
  • 現在はRegex.Replaceを使用して<>カッコに囲まれた部分を削除し、残りの文字列を解析していますが、<td></td>で囲まれた文字列を取得するように仕様変更したいです。
  • 具体的に分からなかった点は、(半角のダブルクォーテーション)の扱い・指定方法、<td></td>で囲まれた表現の具体的な書き方、<td></td>内に<font>などのさらに<>で囲まれた部分がある場合の対処方法です。

質問者が選んだベストアンサー

  • ベストアンサー
  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.1

この種の処理に正規表現(だけ)で処理を行おうとするのはあまりお勧めできません。 なぜなら、HTMLのような構造を持ったデータを処理するのには向いていないからです(できないというわけでもない)。 CodeZine:Microsoft C#でのHTML構文解析(.NET Framework, 構文解析, パーサ, HTML) http://codezine.jp/a/article/aid/145.aspx# のような手段を考えることをお勧めします。 まあ参考までに書いておきますが、 <td 属性>データ</td> というパターンなら、 <td[^>]*>(.*?)</td> で最初のグループに td の中身が取れます。 > 1.”(半角のダブルクォーテーション)の扱い・指定方法 これは \" でいけませんか?

mooboogie
質問者

お礼

すべてを見透かされたようで、少し恥ずかしい気分です。 というのは、実はそのサイトを見た後、「な、長い」と思い、苦手なくせに正規表現での抽出に逃げようとした経緯があったからです^^; 1.Perlスクリプトであると簡単にTD属性の情報が取得できるので、それを利用する 2.HTML構文解析ルーチンを設けて、それで対応する 3.教えていただいた正規表現でとりあえず運用する 3で運用しつつ、1での運用を準備し、2を勉強して将来に備える、 この流れで、sakusaker7さんのご助言を生かしたいと思います。 ありがとうございました。