ホームページ >バックエンド開発 >Python チュートリアル >Python で複数の正規表現の一致をすべて見つけるにはどうすればよいですか?

Python で複数の正規表現の一致をすべて見つけるにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-02 12:25:13583ブラウズ

How to Find All Matches of Multiple Regular Expressions in Python?

Python での複数の正規表現のマッチング

re.search() 関数は、文字列内で最初に出現するパターンを見つけるのに役立ちます。ただし、指定されたテキスト内のすべての一致を見つける必要がある場合は、この特定のタスクに対応するメソッドがあります。

オプションの 1 つは re.findall で、これは、指定されたパターンに一致するすべての部分文字列を含むリストを返します。これは、個々の一致を抽出して順次処理したい場合に最適です。例:

import re

text = 'This is a line with matching words: apple, orange and banana.'
matches = re.findall(r'apple|orange|banana', text)
print(matches)  # Output: ['apple', 'orange', 'banana']

もう 1 つの代替手段は、一致ごとに MatchObject オブジェクトを生成する re.finditer です。これらのオブジェクトは、位置やキャプチャされたグループなど、一致に関する詳細情報を提供します。これは、一致結果をより詳細に制御する必要がある場合によく使用されます。例:

import re

text = 'This is a line with matching words: apple, orange and banana. Apples are the best!'
for match in re.finditer(r'apple|orange|banana', text):
    print(match.group())  # Output: 'apple', 'orange', 'banana', 'apple' (last match)

re.findall または re.finditer を利用すると、Python の文字列内の指定されたパターンの出現をすべて効率的に識別して取得できます。これらのメソッドを使用すると、一致をコレクションとして処理したり、一致を反復処理してより複雑な分析を行うことができます。

以上がPython で複数の正規表現の一致をすべて見つけるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。