ホームページ >バックエンド開発 >Python チュートリアル >Python 正規表現でサブパターンの複数の出現をキャプチャするにはどうすればよいですか?

Python 正規表現でサブパターンの複数の出現をキャプチャするにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-30 22:27:16995ブラウズ

How to Capture Multiple Occurrences of a Subpattern in Python Regex?

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 サイトの他の関連記事を参照してください。

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