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

findall

文字列の中に何が幾つ含まれているかとか、特定の文字列の後にきている文字列を探したくなることがある。
そんな時は、reモジュールのfindall() を使って文字列を検索することができる。

findall.py

#coding: utf-8
import re
text = 'あかさたなはまやらわ'
search = re.findall('か',text)
print(search)
この場合、「か」が含まれている場合、「か」がリストに追加される。

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

find2.py

#coding: utf-8
search = re.findall('か.',text)
print(search)

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

find3.py

#coding: utf-8
search = re.findall('か..',text)

#「か」もしくは「な」を探す
search = re.findall('か|な',text)
間に「|」を入れることで「か」もしくは「な」が含まれている場合にリストに表示される。