findall() を使った文字列の検索

Bookmark this on Google Bookmarks
Pocket

文字列の中に何が幾つ含まれているかとか、特定の文字列の後にきている文字列を探したくなることがある。

そんな時は、reモジュールのfindall() を使って文字列を検索することができる。

findall()

import re
text = 'あかさたなはまやらわ'
search = re.findall('か',text)
print(search)

この場合、「か」が含まれている場合、「か」がリストに追加される。

特定の文字列の後にくる文字列も把握する

search = re.findall('か.',text)
print(search)

['かさ']

この場合、「か」とその直後にくる文字列「さ」がペアになって表示される。
では、二つ目の文字列まで把握したい場合は?
同様に、「.」を続けるだけで良い。

search = re.findall('か..',text)
print(search)

「か」もしくは「な」を探す

search = re.findall('か|な',text)

間に「|」を入れることで「か」もしくは「な」が含まれている場合にリストに表示される。