ホームページ >バックエンド開発 >Python チュートリアル >Python 正規表現で繰り返しサブパターンをキャプチャするにはどうすればよいですか?
Python 正規表現での繰り返しのサブパターンのマッチングとキャプチャ
電子メール アドレスのような複雑なパターンをマッチングする場合、多くの場合、繰り返しのサブパターンをキャプチャする必要があります。たとえば、「yasar@webmail.something.edu.tr」のような電子メール アドレスでは、ドメイン部分「.something」と「.edu」をキャプチャする必要があります。 Regex は、グループを繰り返しキャプチャすることでこれを行う方法を提供します。ただし、Python re モジュールは完全にはサポートしていません。
オプション 1: Python の re モジュールを使用する
(.w ) のようなパターンを使用しようとすると、この場合、すべての出現ではなく、最後に一致したグループのみがキャプチャされます。たとえば、[email protected] の場合、「.tr」のみがキャプチャされ、「.something」と「.edu」は見逃されます。
オプション 2: 後で分割して照合する
提供された回答で示唆されているように、Python でのより簡単なアプローチは、最初にすべてを一致させてから、文字列操作を使用してキャプチャされたサブパターンを分割することです。これにより、読みやすく実装が容易になります。例:
import re # Match the entire email address email_pattern = re.compile(r'([^\s@]+)@(\w+\.\w+)') match = email_pattern.match('[email protected]') if match: # Split the domain portion domain = match.group(2) domain_parts = domain.split('.') print('Domain Parts:', domain_parts)
このコードは電子メール アドレス全体をキャプチャし、ドメインをその部分に分割して、各サブパターンに個別にアクセスして保存できるようにします。
以上がPython 正規表現で繰り返しサブパターンをキャプチャするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。