このモジュールは、Perl で見られるものと同様な正規表現マッチング操作を
提供します。正規表現のパターン文字列にヌルバイトを含むことはできませんが、
\number
記法を使って、ヌルバイトを指定することはできます。
パターンおよび検索される文字列の両方で、
8ビット文字列と同じ様に Unicode 文字列を
使うことができます。 re モジュールはいつでも利用できます。
正規表現では、特殊な形式を表したり、特殊な文字の特別な意味を呼び出さずに
その特殊な文字を使うことができるようにするために、バックスラッシュ文字
("\") を使います。このことは、Python の、文字列リテラルの
同一文字は同一目的で使用するということと矛盾します;例えば、
文字通りのバックスラッシュとマッチするには、パターン文字列として
'\\\\'
と書かなければなりません、というのは、正規表現は
"\\" でなければならず、各バックスラッシュは、正規な Python
文字列リテラル内では "\\" と表現しなければならないからです。
これは、正規表現パターンに Python の raw string 記法を使うことで
解決されます;"r"を前に付けた文字列リテラル内では、
バックスラッシュは、特別な風には全く処理されません。ですから、
r"\n"
は "\" と "n"を含む2文字の文字列であり、
一方 "\n"
は、改行を含む一文字文字列です。
Python コード中では、パターンは、
ふつう、この raw string 記法を使って表現されます。
参考資料: