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


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

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

string = "Please contact media@nostarch.com for assistance"

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

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

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

我們的正則包含三個組: 1、 電子郵箱的第一部分用戶名 2、 無后綴的域名 3、 域名的后綴
import re string = "Please contact media@nostarch.com for assistance" pat = r'([\w\.-]+)@([\w\.-]+)(\.[\w\.]+)' match = re.search(pat,string) if match: print(match.group())

運行結果:

>>>
media@nostarch.com
>>>

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

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

 

 

 

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM