[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]特定の文字列で始まる(始まらない)文字列を抽出する(2025.05.08)
- [Python]特定の文字列で終わる(終わらない)文字列を抽出する(2025.04.20)
- [Python]文字列が指定の正規表現パターンとマッチするか否か調べる(2025.04.09)
« [Python]OpenCVライブラリを使う | トップページ | [R]インターネット上のファイルをダウンロードする »

コメント