're' モジュールとは

're' モジュールは、Pythonの標準ライブラリの一つで、正規表現を扱うためのモジュールです。正規表現とは、文字列のパターンマッチングを行うための表現方法で、テキスト処理において非常に便利なものとなっています。

're' モジュールの基本的な使い方

're' モジュールを使うためには、まずモジュールを import します。

import re

次に、正規表現パターンを re.compile() メソッドでコンパイルします。

pattern = re.compile('pattern')

このとき、'pattern' の部分には正規表現を記述します。

そして、文字列に対して pattern を適用するために、pattern オブジェクトの search() メソッドを使います。

match = pattern.search('string')

search() メソッドは、第一引数に対象の文字列、すなわちパターンを適用する文字列を指定します。戻り値として、マッチした最初の部分文字列を表す MatchObject を返します。

MatchObject には、マッチした部分文字列に関する情報が格納されています。例えば、マッチした部分文字列自体は group() メソッドで取得できます。

matched_string = match.group()

正規表現の記述方法

正規表現には、以下のような特殊文字が使用できます。

文字説明
.改行以外の任意の1文字にマッチ
^行頭にマッチ
$行末にマッチ
*直前の文字が0回以上繰り返されることを表す
+直前の文字が1回以上繰り返されることを表す
?直前の文字が0回か1回現れることを表す
[]マッチする文字の集合を表す
()グループ化する

例えば、'a+' という正規表現は、aが1回以上繰り返される文字列にマッチします。'a|b' という正規表現は、aまたはbにマッチします。

're' モジュールの例

例えば、以下のような文字列があったとします。

text = 'The quick brown fox jumps over the lazy dog.'

この文字列から、brown という単語を抽出するには、以下のように re モジュールを使って正規表現を指定します。

pattern = re.compile(r'\b\w*brown\w*\b') match = pattern.search(text) matched_string = match.group() print(matched_string) # 'brown'

この例では、正規表現パターンとして '\b\w*brown\w*\b' を指定しています。\b は単語の境界を表し、\w* は0回以上のアルファベットまたは数字を表します。つまり、\w*brown\w*brown という単語を表しています。

まとめ

're' モジュールは、Pythonで正規表現を扱うための標準モジュールです。正規表現は、文字列のパターンマッチングに非常に便利な方法であり、re モジュールを使うことで簡単に正規表現を扱うことができます。

リンク

re[EN]