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)“`

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

[python title=”Pythonコード”]
search = re.findall(‘か|な’,text)
“`
間に「|」を入れることで「か」もしくは「な」が含まれている場合にリストに表示される。