ホームページ >バックエンド開発 >Python チュートリアル >Python 正規表現でサブパターンの複数の出現をキャプチャするにはどうすればよいですか?
Python 正規表現を使用した繰り返しパターンのキャプチャ
電子メール アドレスなどの複雑なパターンと一致する場合、複数の出現をキャプチャする必要がある場合があります。特定のサブパターン。 Python の正規表現モジュールでは、これが課題となる可能性があります。
「yasar@webmail.something.edu.tr」のような電子メール アドレスを照合する例を考えてみましょう。電子メールの最初の部分を照合した後、サブパターン ".(w )" の 1 つ以上の出現をキャプチャすることができます。
式 "(.w ) " を使用しようとして、次のことに気づきました。最後の一致のみをキャプチャします。これは、「.something」および「.edu」グループを見逃していることを意味します。
Python の正規表現モジュールでは、たとえ正規表現標準に含まれていても、繰り返しキャプチャはサポートされていません。このため、すべてを一度に取得し、後でサブパターンを分割する方がより効果的なアプローチです。
簡単な式を使用して電子メール アドレスを取得した後にサブパターンを分割する方法の例を次に示します。
import re pattern = r'([.\w]+)@((\w+)(\.\w+)+)' match = re.match(pattern, 'yasar@webmail.something.edu.tr') # Split the subpatterns subpatterns = match.group(2).split('.') # Access the subpatterns print(subpatterns[0]) # 'webmail' print(subpatterns[1]) # 'something' print(subpatterns[2]) # 'edu'
このメソッドを使用すると、繰り返されるサブパターンを個別にキャプチャしてアクセスできるため、簡単で読みやすいソリューションが提供されます。
以上がPython 正規表現でサブパターンの複数の出現をキャプチャするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。