私が書いているプログラムでは、私はPythonがre.search()
関数を使ってテキストブロック内の一致を見つけ、その結果を表示するようにしています。ただし、テキストブロック内で最初の一致が見つかるとプログラムは終了します。
すべての一致が見つかるまでプログラムが停止しないようにするにはどうすればよいでしょうか。これを行うための別の機能はありますか?
代わりにre.findall
またはre.finditer
を使用してください。
re.findall(pattern, string)
は一致する文字列のリストを返します。
re.finditer(pattern, string)
MatchObject
オブジェクトに対してイテレータを返します。
例:
re.findall( r'all (.*?) are', 'all cats are smarter than dogs, all dogs are dumber than cats')
# Output: ['cats', 'dogs']