検索や置換の強力なオトモといえば、正規表現。正規表現で全てのマッチ箇所を取得()を使うとうまくヒットしないケース参考あとがきimportPythonで正規表現を使うには、コチラをimportします。先頭から検索して行ってマッチするものがあるか?例えば、この文字列が検索対象とします。'xxxx0000yyyy1111'コレに対してmatch/searchを試してみましょう。match='0000'>'[a-z]{4}'の場合、どちらもマッチしたので、結果が返ってきています。どちらも「最初にヒットしたパターン」が結果として返ってきます。'[0-9]{4}'の場合、matchは「先頭から比較してマッチするか?」をチェックするので、「マッチしていない」状態となってます。マッチしていない場合、Noneが返ってきます。matchでは結果が何も表示されていませんね。「マッチした全てのパターンを取得したい!」という場合は、「findall」を使用します。print(s)...xxxxyyyy()を使うとうまくヒットしないケースfindallを試していて、うまくヒットしないケースに遭遇しました。こんな文字列を検索するとします。'x0x0x0x0,x0x0x0x0,x0x0x0x0,x0x0x0x0'このとき、「','以外のものをマッチするようにして、リストとして取得したい」とします。いうのが欲しいわけです。'x0x0x0x0']ということでfindallを使っていきます。このようにすると、望みどおりのものを取得することができました。'x0x0x0x0']しかしちょっとクドいですよね。正規表現オンラインテストサイトバグ......?参考コチラを参考にしました。ドキュメントあとがきということで、Pythonによる正規表現での検索についてでした!matchで「先頭一致」を使う以外は、基本的にfindallでいいんじゃないかなーと思っています。今回のように「なぜかうまく取得できないケース」などがある可能性があるので、適宜注意が必要かもしれません。lisz-worksスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。