つい集めてしまうものはなんですか?

ただいまpythonを勉強中なのですが、HTMLの文書を読み込み、
ある特定の文字列が出現したらそれを違う文字列に変換することは可能でしょうか。
例えば以下のようなHTMLがあったとします。

<html>
<head>
<title>文書のタイトル</title>
</head>
<body>
文書の本体
</body>
</html>

ここで文書の本体を読み込んだら
「文書の本体」を
「文書のフォント」
「文書のカラー」 
「文書の本体」と以下のように三行にわたって修正することはできるでしょうか。

<html>
<head>
<title>文書のタイトル</title>
</head>
<body>
文書のフォント
文書のカラー 
文書の本体
</body>
</html>

A 回答 (1件)

もちろん出来ます。


「正規表現」を使うのが一般的です。Pythonで言えばreモジュールを利用します。
http://www.python.jp/doc/2.5/lib/module-re.html
正規表現自体は文字列のマッチングを行う(ために利用されている)もので、それに付随して置換などの機能も利用することが出来ます。
置換後の文字列を複数行にすることは、プログラミング的には単数行のときとなにも変わりません。

ただ、正規表現はあくまで文字列のマッチングを行うものです。
たとえばHTMLタグが正しく閉じられているかどうかをチェックするなどと言ったことまでは手が出ません。
ちょっと扱えるようになると万能に思える正規表現ですが、結構落とし穴も多いですので、多用は自重ください。

正規表現自体に興味が出たら、ぜひこの本をどうぞ。
http://www.oreilly.co.jp/books/9784873113593/
    • good
    • 0
この回答へのお礼

ありがとうございました。
まだpythonの素人ですががんばってみます。
丁寧なアドバイスありがとうございました。

お礼日時:2009/11/10 23:28

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報