« [Python]OpenCVライブラリを使う | トップページ | [R]インターネット上のファイルをダウンロードする »

2025年4月 9日 (水)

[Python]文字列が指定の正規表現パターンとマッチするか否か調べる

reモジュールのsearch関数を使う。指定した正規表現パターンとマッチするとMatchオブジェクトを返し、マッチしないとNoneを返す。戻り値はブール型ではとそれぞれTrueとFalseになるので、そのままブール式として利用できる。

>>> import re
>>> s = '和多田美咲さん'
>>> print(re.search('美咲さん$', s))
<re.Match object; span=(3, 7), match='美咲さん'>
>>> print(re.search('^和', s))
<re.Match object; span=(0, 1), match='和'>
>>> print(re.search('和$', s))
None
>>> bool(re.search('美咲さん$', s))
True
>>> bool(re.search('和$', s))
False

複数を一度に調べたいときは、リストにしてリスト内包表記を使う。

>>> ss = ['石見舞菜香', '鈴木みのり', '瀬戸麻沙美', '和多田美咲']
>>> [s for s in ss if re.search('美', s)]
['瀬戸麻沙美', '和多田美咲']
>>> [s for s in ss if re.search('美$', s)]
['瀬戸麻沙美']
>>> [s for s in ss if re.search('希世乃', s)]
[]
>>> len([s for s in ss if re.search('美', s)])
2
>>> len([s for s in ss if re.search('希世乃', s)])
0

« [Python]OpenCVライブラリを使う | トップページ | [R]インターネット上のファイルをダウンロードする »

Python(正規表現)」カテゴリの記事

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

« [Python]OpenCVライブラリを使う | トップページ | [R]インターネット上のファイルをダウンロードする »

無料ブログはココログ

■■

■■■