Pythonのre
モジュールは、Perlと同様の正規表現マッチング操作を提供します。このモジュールは、パターンと検索対象の文字列がUnicode文字列(str
)でも8ビット文字列(bytes
)でも可能です。ただし、Unicode文字列と8ビット文字列は混在できません。
正規表現は、特殊な形式を示すためや、特殊文字を特別な意味を持たせずに使用するためにバックスラッシュ文字(’\’)を使用します。これはPythonの文字列リテラルでのバックスラッシュの使用と衝突します。たとえば、リテラルのバックスラッシュに一致させるためには、パターン文字列として’\\\\’を書く必要があるかもしれません。これは、正規表現は\\でなければならず、各バックスラッシュは通常のPython文字列リテラル内で\\として表現されるからです。
また、Pythonのre
モジュールを使用してバージョン番号を抽出する方法もあります。例えば、次のようなコードでバージョン番号を抽出できます。
import re
versions = re.findall('[0-9]+.[0-9]+.?[0-9]*', AVAILABLE_VERSIONS)
unique_versions = set(versions) # convert it to set to get unique versions
このように、Pythonのre
モジュールは非常に強力で、多くの場面で活用できます。特に、バージョン管理においては、正規表現を用いて効率的にバージョン番号を抽出したり、置換したりすることが可能です。