このモジュールでは、Perl で見られるものと同様な正規表現マッチング操作
を提供しています。正規表現のパターン文字列にはヌルバイトを含められませ
んが、\number
記法を使えばヌルバイトを指定できます。
パターンと検索対象文字列の両方について、 8 ビット文字列と Unicode 文字
列を同じように扱えます。re モジュールはいつでも利用できます。
正規表現では、特殊な形式を表したり、特殊文字の持つ特別な意味を呼び出さ
ずにその特殊な文字を使えるようにするために、バックスラッシュ文字
("\") を使います。こうしたバックスラッシュの使い方は、
Python の文字列リテラルにおける同じバックスラッシュ文字と衝突を起こし
ます。例えば、バックスラッシュ自体にマッチさせるには、パターン文字列と
して'\\\\'
と書かなければなりません、というのも、正規表現は
"\\" でなければならず、さらに正規な Python 文字列リテラルでは各々
のバックスラッシュを "\\" と表現せねばならないからです。
正規表現パターンに Python の raw string 記法を使えばこの問題を解決でき
ます。"r"を前置した文字列リテラル内ではバックスラッシュを特
別扱いしません。従って、"\n"
が改行一文字の入った文字列になる
のに対して、r"\n"
は "\" と"n"という二つ
の文字の入った文字列になります。通常、 Python コード中では、パターンを
この raw string 記法を使って表現します。
参考: