Pythonのre
モジュールは、Perlに見られる正規表現マッチング操作と同様のものを提供します。パターンと検索対象の文字列は、Unicode文字列(str
)であっても8ビット文字列(bytes
)であっても構いません。ただし、Unicode文字列と8ビット文字列を混在させることはできません。
正規表現では、特殊な形式を表すためや、特殊文字をその特殊な意味を発動させずに使うために、バックスラッシュ文字(’\’)を使います。このバックスラッシュの使い方は、Pythonの文字列リテラルにおける同じ文字の使い方と衝突します。
Pythonの文字列リテラルにおいて、バックスラッシュの使用による不正なエスケープ文字がある場合は、SyntaxWarning
が発生し、将来的にはSyntaxError
になることにも注意してください。これを解決するには、正規表現パターンにPythonのraw文字列記法を使います。
正規表現のシンタックスは、その表現にマッチ(match)する文字列の集合を指定します。このモジュールの関数を使えば、ある文字列が与えられた正規表現にマッチするか(または、与えられた正規表現がある文字列にマッチするか、と言い換えても同じことになります)を検査できます。
以上の情報を踏まえて、PythonでUTF-8正規表現を活用する際の注意点やコツを理解することができます。これらの知識を活用して、Pythonでの文字列操作をより効率的に行うことができます。