Python正規表現におけるfullmatchメソッド
メソッドfullmatchは、文字列が正規表現と完全に一致するかをチェックします。メソッドの第一引数には検索する正規表現を、第二引数には検索対象の文字列を指定します。一致が見つかればメソッドはmatchオブジェクトを返し、それ以外の場合はNoneを返します。メソッドfullmatchの構文は以下の通りです:
re.fullmatch(検索パターン, 検索対象文字列)
例
メソッドfullmatchを文字列に適用してみましょう:
txt = '123 456 789'
res = re.fullmatch('\d+', txt)
print(res)
コード実行後、Noneが出力されます。これは、文字列に数字だけでなく空白文字も含まれているためです:
None
例
今度は文字列が数字のみで構成されている場合を見てみましょう:
txt = '123456'
res = re.fullmatch('\d+', txt)
print(res)
コードの実行結果:
<re.Match object; span=(0, 6), match='123456'>
例
matchオブジェクトから見つかった部分文字列を取得できます。そのためには、その最初の要素にアクセスします:
txt = 'abcde'
res = re.fullmatch('\w+', txt)
print(res[0])
コードの実行結果:
'abcde'
実践問題
次の文字列が文字のみで構成されていることを確認してください:
txt = 'abcde'
次の文字列が数字のみで構成されていることを確認してください:
txt = '12345'