坂野 正明です。 At Fri, 11 Jan 2002 08:50:58 +0900, m_seki / mva.biglobe.ne.jp wrote: > htmlからbodyだけ(またはbodyの内側だけ)を取り出したいのですが、 > どんな方法があるでしょう? > > なんちゃってでも良ければ正規表現なのかな。 > 正規表現だとどう書くのがいいでしょうか? (釈迦に説法という気がしますが…、) 「議論の叩き台として」"なんちゃっての正規表現"版を投稿してみます。 ## body の内側を取り出す % ruby -e '/<body[^>]*>(.*)<\/body>/im =~ ARGF.read; print $1' 欠点は、思いつく限りで、 1. <body> の前、または </body> の後ろに <!-- <body> <!-- <body> --> --> などのような"<body>"(など)を含むコメント文があると間違ってパースする。 # 多重コメントはHTML4.01で認められていましたっけ? # この問題を回避するのは、簡単ではなさそうな。 # もし簡単な方法があれば、後学のために知りたいです。 2. UTF-16やUCS-4のようにUS-ASCIIと上位互換でない文字コードのファイル についてはそのままではだめ。 3. 壊れたHTML(</body>がないとか)には対応できない場合がある (欠点??)。 というところでしょうか。 さかのまさあき