私が書いているプログラムでは、Pythonはre.search()
関数を使用して、テキストのブロック内の一致を見つけて結果を表示します。ただし、テキストブロック内の最初の一致が見つかると、プログラムは終了します。Pythonで正規表現にマッチするものをすべて見つける方法はありますか?
すべての一致が見つかるまでプログラムが停止しない場合は、どうすればこのように繰り返しますか?これを行うための別の機能はありますか?
私が書いているプログラムでは、Pythonはre.search()
関数を使用して、テキストのブロック内の一致を見つけて結果を表示します。ただし、テキストブロック内の最初の一致が見つかると、プログラムは終了します。Pythonで正規表現にマッチするものをすべて見つける方法はありますか?
すべての一致が見つかるまでプログラムが停止しない場合は、どうすればこのように繰り返しますか?これを行うための別の機能はありますか?
re.findall
またはre.finditer
を代わりに使用してください。
re.findall(pattern, string)
は一致する文字列のリストを返します。
re.finditer(pattern, string)
は、MatchObject
オブジェクトのイテレータを返します。
[再帰的なREs](http://web.archive.org/web/20030206032122/http://www.puffinry.freeserve.co.uk/regex-extension.html)は別の獣です。あなたは検索を繰り返す。 – outis