精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

五個案例快速熟悉 Python 正則表達式應用

開發
Python 的 re 庫提供了全面的正則表達式支持,讓你能夠在 Python 程序中輕松地處理各種文本任務。本文將通過五個案例,帶大家逐步了解 re 庫的常用功能和技巧。

正則表達式 (Regular Expression, 簡稱 regex 或 regexp) 是一種強大的文本處理工具,它使用預定義的特殊字符和模式來匹配、查找、替換和分割字符串。Python 的 re 庫提供了全面的正則表達式支持,讓你能夠在 Python 程序中輕松地處理各種文本任務。

本文將通過五個案例,帶大家逐步了解 re 庫的常用功能和技巧。

案例 1: 基礎匹配 - 查找郵箱地址

假設你有一段文本信息,其中包含一些郵箱地址,你想從中提取出所有的郵箱地址。

正則表達式: \w+@\w+\.\w+

  • \w: 匹配字母、數字、下劃線 (word characters)。
  • +: 匹配前面的字符一次或多次。
  • @:  匹配 @ 符號本身。
  • \.: 匹配 . 符號本身 (需要轉義,因為 . 在正則中是特殊字符,匹配任意字符)。
import re

text = "聯系我們:support@example.com 或者 sales.department@another-example.net.cn"
pattern = r'\w+@\w+\.\w+' # r'' 表示原始字符串,避免反斜杠轉義問題
emails = re.findall(pattern, text) # findall 查找所有匹配項,返回列表

print("原始文本:", text)
print("提取到的郵箱地址:", emails)

  • r'\w+@\w+\.\w+' 定義了正則表達式模式。r 前綴表示原始字符串,這在正則表達式中非常推薦使用,可以避免反斜杠被 Python 字符串轉義誤解。
  • re.findall(pattern, text) 函數會在 text 字符串中查找所有符合 pattern 模式的子字符串,并將它們以列表的形式返回。

上面的正則表達式是一個非常基礎的郵箱地址匹配模式,它能匹配簡單的郵箱格式,但對于更復雜的郵箱地址 (例如包含 . 或 - 在用戶名部分) 可能無法完全匹配。在實際應用中,你可能需要更完善的正則表達式來處理各種郵箱格式。 例如,\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* 可以匹配更復雜的郵箱地址。

案例 2: 匹配手機號碼

場景:你需要驗證用戶輸入的字符串是否為中國大陸的手機號碼。

正則表達式 (簡化版):^1[3-9]\d{9}$

  • ^:  匹配字符串的開始位置。
  • 1:  匹配數字 1,中國大陸手機號碼通常以 1 開頭。
  • [3-9]: 匹配數字 3 到 9 中的任意一個,表示手機號碼的第二位數字 (常見的號段第二位)。
  • \d{9}: 匹配 9 個數字 (\d 代表數字,{9} 表示重復 9 次)。
  • $:  匹配字符串的結束位置。
import re

phone_numbers = ["13812345678", "15098765432", "18655551111", "12345678901", "010-88888888"]

pattern = r'^1[3-9]\d{9}$'

for number in phone_numbers:
    if re.match(pattern, number): # match 從字符串的開頭開始匹配
        print(f"{number} 是一個有效的手機號碼")
    else:
        print(f"{number} 不是有效的手機號碼")

  • ^1[3-9]\d{9}$ 定義了手機號碼的模式。^ 和 $ 確保模式從字符串的開頭匹配到結尾,避免匹配到字符串中間部分符合模式的情況。
  • re.match(pattern, number) 函數嘗試從 number 字符串的開頭匹配 pattern。如果匹配成功,返回一個匹配對象;否則返回 None。

這個正則表達式只是一個簡化的版本,實際的手機號碼規則非常復雜,號段不斷更新。更嚴格的手機號碼驗證可能需要更復雜的正則表達式,或者使用專門的手機號碼驗證庫。

案例 3: 分組與提取 - 解析日期格式

你有一系列不同格式的日期字符串,例如 "2023-10-26"、"2023/10/26"、"2023年10月26日",你想統一提取出年、月、日。

正則表達式 (支持多種分隔符): (\d{4})[-/年](\d{1,2})[-/月](\d{1,2})日?

  • (\d{4}):  用括號 () 分組,匹配 4 位數字表示年份。
  • [-/年]: 匹配 -、/ 或 年 字作為分隔符。
  • (\d{1,2}):  分組,匹配 1 到 2 位數字表示月份。
  • [-/月]: 匹配 -、/ 或 月 字作為分隔符。
  • (\d{1,2}):  分組,匹配 1 到 2 位數字表示日期。
  • 日?: 匹配 "日" 字,? 表示 0 次或 1 次,即 "日" 字可選。
import re

dates = ["2023-10-26", "2023/10/26", "2023年10月26日", "2024-1-5", "invalid date"]

pattern = r'(\d{4})[-/年](\d{1,2})[-/月](\d{1,2})日?'

for date_str in dates:
    match = re.search(pattern, date_str) # search 在字符串中搜索第一個匹配項
    if match:
        year = match.group(1) # 獲取第一個分組的內容 (年份)
        month = match.group(2) # 獲取第二個分組的內容 (月份)
        day = match.group(3)   # 獲取第三個分組的內容 (日期)
        print(f"日期字符串: {date_str},  提取結果: 年={year}, 月={month}, 日={day}")
    else:
        print(f"日期字符串: {date_str},  無法解析")

  • (\d{4})[-/年](\d{1,2})[-/月](\d{1,2})日? 使用括號 () 創建了三個分組,分別對應年、月、日。
  • re.search(pattern, date_str) 在 date_str 中搜索第一個匹配項。
  • match.group(n) 方法可以獲取第 n 個分組匹配到的內容 (從 1 開始計數)。

案例 4: 替換操作 - 統一文本格式

你需要將文本中的所有 "Mr.", "Ms.", "Miss." 等稱謂統一替換為 "先生/女士"。

正則表達式 (匹配多種稱謂): (Mr\.|Ms\.|Miss\.)

  • (Mr\.|Ms\.|Miss\.):  使用 | (或) 匹配 "Mr.", "Ms.", 或 "Miss."。 注意 . 需要轉義 \.。  整個部分用括號分組。
import re

text = "Hello Mr. Smith, how are you? And Ms. Jane, are you doing well?  Also, Miss. Lee is joining us."

pattern = r'(Mr\.|Ms\.|Miss\.)'
replacement = '先生/女士'
new_text = re.sub(pattern, replacement, text) # sub 執行替換操作

print("原始文本:", text)
print("替換后的文本:", new_text)

  • r'(Mr\.|Ms\.|Miss\.)' 定義了要匹配的稱謂模式。
  • re.sub(pattern, replacement, text) 函數會在 text 中查找所有匹配 pattern 的子字符串,并用 replacement 字符串替換它們。

案例 5: 分割字符串 - 按多種分隔符分割

你需要將一段文本按照句號、逗號、問號、感嘆號等多種標點符號分割成句子。

正則表達式 (匹配多種標點符號): [.,?!]

  • [.,?!]:  字符集 [] 匹配方括號中列出的任意一個字符,這里匹配句號 .、逗號 ,、問號 ?、感嘆號 !。
import re

text = "This is the first sentence. And this is the second, with a comma! Is this the third? Yes it is."

pattern = r'[.,?!]'
sentences = re.split(pattern, text) # split 根據模式分割字符串,返回列表

print("原始文本:", text)
print("分割后的句子列表:", sentences)

  • r'[.,?!]' 定義了分隔符模式,匹配任何句號、逗號、問號或感嘆號。
  • re.split(pattern, text) 函數會根據 pattern 將 text 字符串分割成多個子字符串,并將它們以列表形式返回。 分割符本身不會包含在返回的子字符串中。

總結

這5個案例展示了 re 庫在 Python 中處理正則表達式的一些基本和常用功能:

  • re.findall():  查找所有匹配項。
  • re.match():  從字符串開頭匹配。
  • re.search():  在字符串中搜索第一個匹配項。
  • re.sub():  替換匹配項。
  • re.split():  根據模式分割字符串。

同時,我們也接觸了一些常用的正則表達式語法元素:

  • 字符類: \w, \d, \s, . 等
  • 量詞: +, *, ?, {n}, {n,m}
  • 錨點: ^, $
  • 分組: ()
  • 字符集: []
  • 或: |

要深入掌握正則表達式,還需要不斷學習和實踐。 你可以查閱 Python re 庫的官方文檔,以及在線正則表達式教程和工具,例如 https://regex101.com/ (一個非常棒的在線正則表達式測試工具)。

責任編輯:趙寧寧 來源: Python數智工坊
相關推薦

2025-06-16 10:10:00

Python正則表達式

2024-09-14 09:18:14

Python正則表達式

2025-04-24 10:20:00

2020-03-30 11:25:16

Linux 開源操作系統

2017-08-10 13:13:44

Linux正則表達式

2021-01-27 11:34:19

Python正則表達式字符串

2011-07-11 12:33:30

JAVA

2024-12-16 07:33:45

C#正則表達式

2010-03-03 13:09:10

Linux正則表達式

2010-03-25 18:25:36

Python正則表達式

2018-09-27 15:25:08

正則表達式前端

2020-09-04 09:16:04

Python正則表達式虛擬機

2010-03-01 15:51:59

Python則表達式

2010-03-11 08:55:45

python正則表達式

2019-12-10 10:40:57

Python正則表達式編程語言

2010-03-03 13:22:08

Python正則表達式

2016-09-12 09:57:08

grep命令表達式Linux

2022-03-28 06:19:14

正則表達式開發

2017-05-12 10:47:45

Linux正則表達式程序基礎

2019-07-17 15:45:47

正則表達式字符串前端
點贊
收藏

51CTO技術棧公眾號

精品国内亚洲在观看18黄| 色婷婷国产精品| 99在线观看视频网站| 强乱中文字幕av一区乱码| 精品网站aaa| 精品久久久一区| 亚洲人成网站在线观看播放| 国产毛片在线视频| 国产亚洲精品自拍| 日韩中文字幕免费| 亚洲一区二区在线免费| 三上悠亚一区二区| 亚洲精品日韩一| 精品久久久久久亚洲| www.久久视频| 欧美日韩亚洲一区二区三区在线| 亚洲国产第一页| 天堂中文视频在线| 日本成人不卡| 国产精品色哟哟| 狠狠色狠狠色综合人人| 97超碰人人模人人人爽人人爱| 亚洲激情专区| 久久精品视频亚洲| av女人的天堂| 国产ts一区| 这里只有精品视频在线观看| 日韩毛片在线免费看| 成人性生交大片免费看无遮挡aⅴ| 成人国产精品一区二区网站| 色综合久久天天| 免费看欧美一级片| 青青青青在线| 国产日产欧产精品推荐色| 国产精品一区二| 亚洲视频一区二区三区四区| 午夜一区不卡| 96精品视频在线| 久草网视频在线观看| 色男人天堂综合再现| 精品一区二区三区电影| 国产高清成人久久| 亚洲三级av| 91麻豆精品国产| 182午夜在线观看| 瑟瑟视频在线| 久久精品人人做人人综合| 好吊色欧美一区二区三区四区 | 亚洲视屏一区| 不卡亚洲精品| 久久综合久久综合久久综合| 99精彩视频在线观看免费| 一级片免费网站| 免费在线看一区| 国产精品爱久久久久久久| 中文字幕亚洲高清| 国产精品入口66mio| 国内外成人免费激情在线视频| 久久免费精彩视频| 国产精品亚洲欧美日韩一区在线| 欧美亚洲国产一卡| 久久综合久久色| 中文另类视频| 精品婷婷伊人一区三区三| 中文久久久久久| 国产乱子精品一区二区在线观看| 在线免费视频一区二区| 亚洲第一中文av| 欧美xxxx网站| 日韩一区二区电影| aaa黄色大片| 久久97久久97精品免视看秋霞| 亚洲黄色片网站| 成人手机在线免费视频| 亚洲制服一区| 在线不卡的av| www.偷拍.com| 黄色美女久久久| 精品亚洲一区二区| 一二三四国产精品| 天天天综合网| 欧美精品videosex极品1| 精品一区免费观看| 性感少妇一区| 国产精品成人av在线| 国产又粗又猛视频免费| 国产精品自拍网站| 精品国产一区二区三区日日嗨| 久草在线免费福利资源| 中文字幕欧美一区| 日本熟妇人妻xxxx| 亚洲成人不卡| 欧美一区二区精品久久911| 在线观看免费视频黄| 欧洲专线二区三区| 久久91亚洲精品中文字幕| 日韩女同强女同hd| 另类小说一区二区三区| 高清一区二区三区视频| 国产三级在线免费观看| 一区二区三区精品在线观看| av免费网站观看| 久久精品九色| 亚洲视频一区二区三区| 久久精品www人人爽人人| 久久精品一区| 岛国视频一区免费观看| 成人影院免费观看| 亚洲成人自拍偷拍| 伊人网在线综合| 色天天色综合| 欧美疯狂做受xxxx高潮| 无码人妻av一区二区三区波多野| 国产成人精品免费视频网站| 神马一区二区影院| 草草在线观看| 91.成人天堂一区| 免费在线观看污| 亚洲国产二区| 亚洲综合视频1区| av成人手机在线| 狠狠躁18三区二区一区| 中文字幕人妻熟女人妻a片| 精品国产aⅴ| 91精品国产777在线观看| 国产三级漂亮女教师| 中文字幕成人网| 国产在线青青草| 欧美日韩卡一| 一区二区日韩精品| 黄瓜视频在线免费观看| 国产精品久久久免费| 91九色国产社区在线观看| 久久这里精品| 欧美日韩免费看| 免费不卡的av| 欧美精品三区| 亚洲自拍中文字幕| 免费在线观看av| 欧美日韩色一区| 免费在线观看a视频| 母乳一区在线观看| 精品综合久久久| 理论片午夜视频在线观看| 欧美不卡123| 欧美日韩精品在线观看视频 | 天天综合在线视频| 一区二区三区 在线观看视频| 中国黄色片一级| 91精品国产91久久久久久密臀| 国产精品欧美日韩一区二区| 国产三级在线看| 欧美在线免费观看视频| 欧美成人国产精品一区二区| 日韩黄色小视频| 色女孩综合网| 久久69成人| 日韩亚洲精品电影| 国产精品呻吟久久| 亚洲免费av高清| 亚洲911精品成人18网站| 欧美色123| 国内精品久久国产| 免费电影日韩网站| 国产小视频国产精品| 成人黄色片在线观看| 亚洲国产精华液网站w| 日韩av一卡二卡三卡| 亚洲欧美色图| 国产伦精品一区| 免费观看亚洲| 日韩中文字幕网| 亚洲第一天堂网| 欧美视频13p| 少妇愉情理伦三级| 国产精品456| 国产极品尤物在线| 欧美综合久久| 97影院在线午夜| 丝袜老师在线| 三级精品视频久久久久| 久草视频在线免费看| 99久久免费精品| 已婚少妇美妙人妻系列| 91精品秘密在线观看| 国产精品伊人日日| 99久久婷婷国产综合精品首页 | 精品国产91久久久久久久妲己| 久热这里只有精品6| 欧美激情一区二区在线| 黑人巨大猛交丰满少妇| 亚洲欧美成人| 国产精品美女在线播放| 欧美变态网站| 成人xvideos免费视频| 波多野结衣乳巨码无在线观看| 亚洲人成欧美中文字幕| www.五月婷| 在线观看日韩精品| 国产一级一片免费播放放a| 国产欧美一区二区精品久导航| 极品人妻一区二区| 奇米色一区二区| 91精品国产91久久久久麻豆 主演| 精品国产aⅴ| 国产精品免费区二区三区观看| 九色成人搞黄网站| 992tv成人免费影院| 国产日产一区二区| 亚洲视频国产视频| 欧美在线精品一区二区三区| 欧美日韩成人综合天天影院| av中文在线播放| 一区二区三区四区视频精品免费 | 特级特黄刘亦菲aaa级| 蜜臀a∨国产成人精品| 国产老熟妇精品观看| 亚洲人成免费网站| 亚洲国产高清国产精品| 亚洲精品aaaaa| 国产精品久久精品视| www.成人| 国产欧美日韩亚洲精品| 中文字幕色婷婷在线视频| 欧美激情按摩在线| 国产色在线观看| 色婷婷久久av| avtt亚洲| 一区二区三区亚洲| 你懂的在线视频| 亚洲国产欧美一区二区三区久久| 国产黄a三级三级三级| 欧美日本一道本| 免费在线不卡av| 色诱视频网站一区| 综合网在线观看| 欧美性xxxxx极品娇小| 91香蕉在线视频| 偷拍一区二区三区四区| 99免费在线观看| 亚洲国产成人av网| 国产一级在线播放| 亚洲午夜影视影院在线观看| 免费毛片在线播放免费| 亚洲激情av在线| 日韩一级片av| 一区二区三区国产豹纹内裤在线 | 欧美日韩国产影院| 国产成人无码精品久久久久| 午夜天堂影视香蕉久久| 成人精品免费在线观看| 高跟丝袜一区二区三区| 精品人妻无码一区二区性色| 日韩欧美精品在线观看| 亚洲婷婷综合网| 欧美探花视频资源| 一区二区日韩视频| 91精品中文字幕一区二区三区| 国产裸体永久免费无遮挡| 777a∨成人精品桃花网| 精品国产999久久久免费| 欧美白人最猛性xxxxx69交| 丰满少妇高潮在线观看| 日韩av在线播放资源| 欧美老女人性开放| 日韩在线观看免费全| 在线播放免费av| 国外色69视频在线观看| 超碰aⅴ人人做人人爽欧美| 国产精品成人免费视频| 亚洲高清国产拍精品26u| 91国产在线播放| 欧美顶级毛片在线播放| 欧洲一区二区日韩在线视频观看免费 | 美女91精品| 午夜两性免费视频| 国产精品456露脸| 中文精品在线观看| 日韩一区在线播放| 国产午夜小视频| 欧洲一区在线电影| 精品人妻无码一区二区色欲产成人| 精品国产免费视频| 国产精品一二三区视频| 久久精品在线视频| 国产欧洲在线| 国产日韩视频在线观看| 久久午夜影院| 亚洲午夜精品久久久中文影院av| 欧美日韩视频| 999在线免费视频| 国产精品18久久久久久vr| 少妇大叫太粗太大爽一区二区| 中文字幕中文字幕在线一区 | 日本一区网站| 亚洲欧美亚洲| 激情综合网俺也去| 国产成人av电影在线| 中文字幕免费视频| 一区二区三区 在线观看视频| 国产乱码77777777| 亚洲精品一区在线观看| av在线免费一区| 91国产美女视频| 91精品国产一区二区在线观看| 精品一区久久久| 最新精品国产| 天天视频天天爽| 久久综合国产精品| 青青草免费av| 欧美午夜精品久久久久久孕妇 | aaa亚洲精品| 日本中文字幕免费在线观看| 在线观看www91| 亚洲av片一区二区三区| 九九热在线精品视频| 国产成人久久精品麻豆二区| 精品欧美一区二区在线观看视频| 亚洲综合自拍| 国产精品自拍视频在线| 久久美女艺术照精彩视频福利播放| 免看一级a毛片一片成人不卡| 欧美日韩免费一区二区三区视频| 日韩福利一区二区| 国产+人+亚洲| 中文字幕日韩在线| 天天成人综合网| 精品一区二区在线观看| 最新中文字幕av| 色婷婷香蕉在线一区二区| 亚洲人视频在线观看| 久久久噜久噜久久综合| 深夜福利一区二区三区| 欧美精品一区二区性色a+v| 蜜臀精品一区二区三区在线观看| 日韩一区二区a片免费观看| 日韩欧美国产骚| 欧美一区二区视频| 97碰在线观看| 日本午夜精品| 欧美在线观看成人| 91女神在线视频| 四虎成人永久免费视频| 精品亚洲一区二区三区| 极品美女一区| 视频在线99re| 久久精品国产在热久久| 国产一区在线观看免费| 欧美日韩精品二区第二页| аⅴ资源新版在线天堂| 国产精品视频久久久| 99久久99久久精品国产片果冰| 久热精品在线观看视频| 国产精品第五页| 国产999久久久| 欧美激情xxxx性bbbb| 女同久久另类99精品国产| 爱福利视频一区二区| 国产校园另类小说区| 伊人影院中文字幕| 久久人人爽人人爽爽久久| 日韩一二三区在线观看| 国内精品视频一区二区三区| 91亚洲国产成人精品一区二三| 精品国产xxx| 日韩一区二区三区国产| 日韩亚洲精品在线观看| 少妇高潮喷水在线观看| 久久在线免费观看| 黄色污污视频软件| 久久精品国产视频| 97久久综合区小说区图片区 | 亚洲第一二三四区| 亚洲一二三区在线| 国产成人自拍网| 午夜精品三级久久久有码| 亚洲小视频在线| 免费观看亚洲天堂| 91视频最新入口| 亚洲日韩欧美一区二区在线| 秋霞欧美在线观看| 国产成人综合av| 欧美国产三区| 一本色道久久综合亚洲精品图片 | 奇米一区二区三区四区久久| 日韩成人精品一区| 少妇熟女视频一区二区三区| 一本一道久久a久久精品| 麻豆最新免费在线视频| 好吊色欧美一区二区三区四区| 麻豆精品视频在线| 国语对白一区二区| 正在播放亚洲1区| 久久悠悠精品综合网| 91制片厂毛片| 激情久久av一区av二区av三区| 五月香视频在线观看| 国产精品xxx在线观看www| 日韩av电影一区| 五月天综合在线|