最佳答案
引言
正則表達式是一種富強的文本處理東西,廣泛利用於數據剖析、文本校驗等範疇。經由過程正則表達式,我們可能高效地處理字元串,提取信息,驗證格局等。本文將經由過程一系列實戰案例,幫助你輕鬆駕馭正則表達式,晉升數據處理才能。
正則表達式基本
1. 正則表達式不雅點
正則表達式是一種用來描述字元形式的規矩,它可能用來驗證字元串能否符合規矩,或許從一段文本中提取特定的子字元串。
2. 基本語法
.
:婚配咨意字元(除了換行符)。[ ]
:婚配字符集內的咨意一個字元。[^ ]
:婚配不在字符集內的咨意一個字元。()
:分組,用於指定婚配的子串。*
:婚配前面的子表達式零次或多次。+
:婚配前面的子表達式一次或多次。?
:婚配前面的子表達式零次或一次,或指非貪婪婚配。{n}
:婚配前面的子表達式剛好n次。{n,}
:婚配前面的子表達式至少n次。{n,m}
:婚配前面的子表達式至少n次,但不超越m次。
3. 元字元
\d
:婚配數字,等價於[0-9]
。\D
:婚配非數字,等價於[^0-9]
。\s
:婚配空白字元,等價於[ \f\n\r\t\v]
。\S
:婚配非空白字元,等價於[^ \f\n\r\t\v]
。\w
:婚配字母、數字或下劃線,等價於[a-zA-Z0-9_]
。\W
:婚配非字母、數字或下劃線,等價於[^a-zA-Z0-9_]
。
實戰案例
1. 驗證手機號碼
import re
phone_number = "13812345678"
pattern = r"1[3-9]\d{9}"
if re.match(pattern, phone_number):
print("手機號碼格局正確")
else:
print("手機號碼格局錯誤")
2. 驗證郵箱地點
import re
email = "user@example.com"
pattern = r"[a-zA-Z0-9.-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9.-]+"
if re.match(pattern, email):
print("郵箱地點格局正確")
else:
print("郵箱地點格局錯誤")
3. 提取網頁標題
import re
html_content = """
<title>HTML內容剖析與驗證:正則表達式實戰指南</title>
<h1>正則表達式基本</h1>
<p>正則表達式是一種用於處理文本的富強東西,它可能用來婚配、查找跟調換文本形式。</p>
"""
title_pattern = r'<title>(.*?)</title>'
title = re.search(title_pattern, html_content)
if title:
print("網頁標題:", title.group(1))
4. 驗證身份證號碼
import re
id_number = "11010519491231002X"
pattern = r"^\d{17}[\dXx]$"
if re.match(pattern, id_number):
print("身份證號碼格局正確")
else:
print("身份證號碼格局錯誤")
5. 驗證密碼強度
import re
password = "password123"
pattern = r"^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{8,}$"
if re.match(pattern, password):
print("密碼強度合格")
else:
print("密碼強度不合格")
總結
經由過程以上實戰案例,我們可能看到正則表達式在數據剖析跟校驗方面的富強才能。純熟控制正則表達式,將大年夜大年夜進步我們的數據處理效力。