Python: 正規表現で検索する(先頭のみ) re.match()

Pythonで正規表現を使って検索する場合、reモジュールの match()関数を使うと、 先頭の文字列がパターンにマッチするかどうかがわかります。

search()関数は任意の位置のマッチングを調べますが、 match()関数は先頭のみのマッチングを調べます。

書式
match(パターン, 検索対象文字列 [, flags=0])

マッチする場合はマッチ情報が格納されたmatchオブジェクトが戻り、 マッチしない場合は「None」が戻ります。

マッチする場合

具体的にmatch()関数を使って先頭検索を行います。
次のコードは変数「p」がパターン文字列、変数「s」が検索対象文字列です。 先頭が「c.t」のパターンに一致するかどうかを検索します。 (「imoprt re」を忘れずに記述してください)

import re

p = "c.t"
s = "cut cup cute"

m = re.match(p, s)

print(m)
print(m.group())
実行結果
<re.Match object; span=(0, 3), match='cut'>
cut
print(m)の場合はmatch オブジェクトの内容が表示され、 matchオブジェクトのgroup()メソッドを使った場合は マッチした文字列を取得できます。

マッチしない場合

次はマッチしない場合を見てみます。
先頭が「b.t」のパターンに一致するかどうかを検索します。

import re

p = "b.t"
s = "cut cup cute"

m = re.match(p, s)

print(m)
実行結果
None

マッチしない場合は「None」と表示されます。

Python