'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
モジュールを使うことで簡単に正規表現を扱うことができます。