首頁 > 後端開發 > Python教學 > 如何在 Python 正規表示式中捕獲子模式的多次出現?

如何在 Python 正規表示式中捕獲子模式的多次出現?

Barbara Streisand
發布: 2024-11-30 22:27:16
原創
984 人瀏覽過

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

使用Python Regex 捕獲重複模式

在匹配電子郵件地址等複雜模式時,您可能會遇到需要捕獲多次出現的情況特定的子模式。在 Python 的正規表示式模組中,這可能會帶來挑戰。

考慮符合電子郵件地址(如「yasar@webmail.something.edu.tr」)的範例。匹配電子郵件的開頭部分後,您可能想要捕獲一次或多次出現的子模式“.(w )”。

在嘗試使用表達式「(.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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板