成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

十個案例快速掌握 Python 正則表達式使用

開發
在Python中,通過re模塊可以輕松實現數據清洗、表單驗證、日志分析等任務。本文通過十個實用案例,帶你從零掌握正則表達式的基礎用法!

正則表達式(Regex)是一種強大的文本模式匹配工具,它能讓你用簡潔的語法描述復雜的文本規則。在Python中,通過re模塊可以輕松實現數據清洗、表單驗證、日志分析等任務。本文通過10個實用案例,帶你從零掌握正則表達式的基礎用法!

案例1:匹配純文本

最簡單的正則表達式就是直接匹配文本內容。

import re

text = "Hello, world! Python is amazing."
pattern = r"Python"  # 匹配"Python"字符串

result = re.findall(pattern, text)
print(result)  # 輸出: ['Python']
  • r前綴表示原始字符串,避免轉義問題
  • 字母區分大小寫(默認)
  • findall()返回所有匹配項列表

案例2:匹配任意單個字符

使用.匹配任意單個字符(除換行符外)。

text = "cat bat hat rat"
pattern = r".at"  # 匹配任意"xat"組合

result = re.findall(pattern, text)
print(result)  # 輸出: ['cat', 'bat', 'hat', 'rat']
  • .是通配符,匹配任意字符
  • 常與其他字符組合使用

案例3:匹配字符集合

使用[]匹配指定字符集合中的任一字符。

text = "Apple, Banana, Cherry, Date"
pattern = r"[BCD][a-z]+"  # 匹配以B/C/D開頭的小寫單詞

result = re.findall(pattern, text)
print(result)  # 輸出: ['Banana', 'Cherry', 'Date']
  • [ABC]匹配A、B或C
  • [A-Z]匹配任意大寫字母
  • [a-z]匹配任意小寫字母
  • [0-9]匹配任意數字

案例4:匹配數字字符

\d是匹配數字的快捷方式。

text = "訂單號:12345,金額:¥599.00"
pattern = r"\d+"  # 匹配連續數字

result = re.findall(pattern, text)
print(result)  # 輸出: ['12345', '599', '00']
  • \d等價于[0-9]
  • \d+匹配一個或多個數字
  • \D匹配非數字字符

案例5:匹配空白字符

\s匹配各種空白字符。

text = "Python\tis\nawesome!"
pattern = r"\s"  # 匹配空白字符

result = re.findall(pattern, text)
print(result)  # 輸出: ['\t', '\n', ' ']
  • \s匹配空格、制表符、換行符等
  • \S匹配非空白字符
  • 常用于分割字符串

案例6:驗證郵箱格式

組合使用字符集和量詞驗證郵箱格式。

emails = ["user@example.com", "invalid.email@com", "name@domain.co.uk"]
pattern = r"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$"

for email in emails:
    if re.match(pattern, email):
        print(f"? 有效: {email}")
    else:
        print(f"? 無效: {email}")
  • ^匹配字符串開頭
  • $匹配字符串結尾
  • +表示一個或多個
  • {2,}表示至少2個字符

案例7:提取URL鏈接

匹配網頁中的URL鏈接。

html = '<a >主頁</a> <img src="image.png">'
pattern = r'href="(https?://[^"]+)"'  # 提取href屬性中的URL

result = re.findall(pattern, html)
print(result)  # 輸出: ['https://example.com']
  • https?匹配"http"或"https"
  • [^"]+匹配除"外的任意字符
  • ()捕獲組提取特定部分

案例8:匹配日期格式

識別不同格式的日期。

dates = "2023-08-15, 15/08/2023, Aug 15 2023"
pattern = r"\d{4}-\d{2}-\d{2}|\d{2}/\d{2}/\d{4}|[A-Za-z]{3} \d{2} \d{4}"

result = re.findall(pattern, dates)
print(result)  # 輸出: ['2023-08-15', '15/08/2023', 'Aug 15 2023']
  • |表示"或"關系
  • {4}精確匹配4個字符
  • [A-Za-z]{3}匹配3個字母

案例9:提取電話號碼

提取不同格式的電話號碼。

text = "聯系:138-1234-5678 或 (021) 8765-4321"
pattern = r"\(?\d{2,4}\)?[- ]?\d{4}[- ]?\d{4}"

result = re.findall(pattern, text)
print(result)  # 輸出: ['138-1234-5678', '(021) 8765-4321']
  • \(?匹配0個或1個左括號
  • \)?匹配0個或1個右括號
  • [- ]?匹配可選的分隔符

案例10:替換敏感信息

使用正則表達式進行文本替換。

text = "Visa: 4111-1111-1111-1111, 電話:13800138000"
pattern_card = r"\d{4}-\d{4}-\d{4}-\d{4}"
pattern_phone = r"1[3-9]\d{9}"

# 替換敏感信息
result = re.sub(pattern_card, "[信用卡號已屏蔽]", text)
result = re.sub(pattern_phone, "[手機號已屏蔽]", result)

print(result)
# 輸出: Visa: [信用卡號已屏蔽], 電話:[手機號已屏蔽]
  • re.sub()實現替換功能
  • 1[3-9]\d{9}匹配中國大陸手機號
  • 常用作數據脫敏處理

結語:掌握正則表達式的核心思維

通過這10個案例,你已經掌握了正則表達式的基礎用法:

  • 模式思維:用抽象模式描述具體文本
  • 組合思維:將簡單模式組合成復雜規則
  • 實踐思維:在真實場景中不斷練習

進階建議:

  • 使用regex101.com在線測試工具
  • 學習貪婪/非貪婪匹配、零寬斷言等高級特性
  • 結合Pandas處理結構化文本數據

正則表達式就像編程世界的超級放大鏡,讓你在文本的海洋中精準捕捉目標信息!

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

2024-09-14 09:18:14

Python正則表達式

2025-04-14 08:40:00

Python正則表達式re 庫

2016-09-12 09:57:08

grep命令表達式Linux

2025-03-27 10:03:17

PythonPandas代碼

2020-03-30 11:25:16

Linux 開源操作系統

2017-08-10 13:13:44

Linux正則表達式

2010-03-25 18:25:36

Python正則表達式

2019-05-21 10:42:41

Python正則表達式

2021-01-27 11:34:19

Python正則表達式字符串

2024-12-16 07:33:45

C#正則表達式

2009-09-16 17:29:30

正則表達式使用詳解

2023-10-07 08:25:09

Java處理工具正則表達式

2020-09-04 09:16:04

Python正則表達式虛擬機

2018-09-27 15:25:08

正則表達式前端

2021-01-21 10:40:10

Python正則表達式代碼

2024-10-09 16:35:20

Python正則表達式

2024-12-25 15:09:38

Python字符串函數

2020-09-18 06:42:14

正則表達式程序

2010-03-11 08:55:45

python正則表達式

2019-12-10 10:40:57

Python正則表達式編程語言
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩欧美在线免费观看视频 | 国产一级在线观看 | 国产亚洲精品久久午夜玫瑰园 | jlzzjlzz欧美大全 | 欧美高清性xxxxhdvideosex | 日韩一区二区免费视频 | 国产激情在线 | 国产伦一区二区三区久久 | 在线观看视频一区 | 久久久久久国产 | 国产成人精品一区二区三区视频 | 亚洲区视频| 91久久久久 | 日韩电影一区二区三区 | 欧美精品一区二区三区蜜桃视频 | 国产电影一区 | 欧美久久一区 | 久久久久国产一区二区三区 | 无码一区二区三区视频 | 蜜桃av一区二区三区 | 涩涩视频在线观看 | 免费污视频 | 国产欧美一级 | av高清 | 国产电影一区 | 国产乱码精品一区二区三区中文 | 国产一级特黄aaa大片评分 | 亚洲一区二区三区免费视频 | 九九热精品视频在线观看 | 亚洲一区二区三区福利 | 91精品在线看 | 免费九九视频 | 欧美极品在线观看 | www.夜夜草 | 日本精品视频 | 自拍偷拍精品 | 精品免费av| 国产福利在线小视频 | 中文字幕一区二区三区四区五区 | 日批日韩在线观看 | 久久久蜜桃 |