python基礎操作——正規表示式

新夢想IT發表於2023-04-10



一、匹配單個字


表示式

含義

\d

匹配一個數字,等價於0-9之間的任意一個數字,透過[數字]/[起始數字-結尾數字]可以具體指定匹配數字的範圍

\w

匹配單詞字元,即a-z、A-Z、0-9、_

\W

大寫W匹配非單詞字元

.

匹配任意1個字元(除了\n)

[]

匹配[]中列舉的字元

\D

匹配非數字,即不是數字

\s

匹配空白,即空白,tab鍵

\S

匹配非空白


[0123456789]    == [0-9]


[123678]    ==     [1-36-8]


字母同樣的邏輯處理:[a-z],表示匹配a到z之間的任意一個字母




二、匹配多個字元


透過{數字}來限制需要匹配的特定內容出現的次數,例如match(r'數字\d{2}', '數字123'),表示匹配“數字”後面有兩個數字的字串,如果超

出指定的範圍,取到範圍處為止,如果不夠指定範圍長度,則報錯


match(r'內容\d{1,2}','內容12'),表示匹配'內容後面有一個或兩個數字的字串',如果超出指定的範圍,則按最大範圍取匹配內容


*   匹配前一個字元出現0次或者無限次,即可有可無


+   匹配前一個字元出現1次或者無限次,即至少有1次


?   匹配前一個字元出現1次或者0次,即要麼有1次,要麼沒有


{m}  匹配前一個字元出現m次


{m,n} 匹配前一個字元出現從m次到n次




三、匹配開頭結尾


開頭:^


結尾:$




四、匹配分組


|   匹配左右任意一個表示式


(ab)    將括號中字元作為一個分組


\num    引用分組num匹配到的字串


(?P<name>)  分組起別名


(?P=name)   引用別名為name分組匹配到的字串




五、re模組高 級用法


search:搜尋和查詢內容相匹配的資料值


re.search(r'\d+', '閱讀量 999').group()    會返回999


findall:返回所有和查詢內容相匹配的資料值,返回列表


re.findall(r'\d+', 'python=999,c=7890')     會返回[999, 7890]


sub:將匹配到的資料進行替換


re.sub(r'正則匹配規則', '新內容', '資料')  執行原理,會優先進行正則匹配,如果有匹配上的內容就將其替換為新內容


split:根據匹配進行切割字串,返回一個列表


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69940641/viewspace-2944748/,如需轉載,請註明出處,否則將追究法律責任。

相關文章