1. 程式人生 > >Python學習手冊之正則表達式示例--郵箱地址提取

Python學習手冊之正則表達式示例--郵箱地址提取

nbsp logs 電子 edi tro 點擊 用戶名 手冊 com

在上一篇文章中,我們介紹了 Python 的捕獲組和特殊匹配字符串,現在我們介紹 Python 的正則表達式使用示例。查看上一篇文章請點擊:https://www.cnblogs.com/dustman/p/10040430.html

郵箱地址提取
為了演示正則表達式的示例用法,我們創建一個從字符串中提取電子郵箱地址的程序。假設我們有一個包含電子郵箱地址的字符串。

string = "Please contact [email protected] for assistance"

我們希望提取出類似 [email protected] 的字符串。一個典型的電子郵件地址由一個詞組成,可以包括點或破折號。接下來是@符號和域名 (名詞、一個點和域名後綴) 。下面我們來構建正則的基礎框架。

pat = r([\w\.-]+)@([\w\.-]+)(\.[\w\.]+)

[\w\.-]+ 匹配一個或多個字符串,點或破折號。上面的正則表達式表示字符串應該包含一個單詞 (包含點和破折號) , 後面跟著 @ 符號,接著是另一個類似的單詞,然後是一個點和另一個單詞。

我們的正則包含三個組:
1、 電子郵箱的第一部分用戶名
2、 無後綴的域名
3、 域名的後綴
import re

string = "Please contact [email protected] for assistance"
pat = r([\w\.-]+)@([\w\.-]+)(\.[\w\.]+)
match = re.search(pat,string) if match: print(match.group())

運行結果:

>>>
[email protected]
>>>

如果字符串包含多個電子郵件地址,我們可以使用 re.findall 方法而不是 re.search 來提取電子郵件地址。

本文中的正則實例只是為了演示目的,在現實情況下需要更復雜的正則表達式才能完全驗證電子郵件地址。

“如果你想戰勝恐懼,不要坐在家裏空想,走出去,動起來。” -- 戴爾·卡耐基

Python學習手冊之正則表達式示例--郵箱地址提取