Python3正規表示式中常用函式

2021-08-20 09:53:14 字數 2028 閱讀 9797

在python3中使用正規表示式需要引入re模組。

re.match 嘗試從字串的起始位置匹配乙個模式,如果不是起始位置匹配成功的話,match()就返回none。

函式語法:

re

.match

(pattern

,string

,flags=0

)

函式引數說明:

引數描述

pattern

匹配的正規表示式

string

要匹配的字串。

flags

標誌位,用於控制正規表示式的匹配方式,模式修飾符,如:re.l,re.s,re.u

re.search 掃瞄整個字串並返回第乙個成功的匹配。

函式語法:

re

.search

(pattern

,string

,flags=0

)

re.search()和re.match()方法的區別

re.match只匹配字串的開始,如果字串開始不符合正規表示式,則匹配失敗,函式返回none;而re.search匹配整個字串,直到找到乙個匹配。

python 的re模組提供了re.sub用於替換字串中的匹配項。

語法:

re

.sub

(pattern

,repl

,string

,count=0

)

引數:

pattern : 正則中的模式字串。

repl : 替換的字串,也可為乙個函式。

string : 要被查詢替換的原始字串。

count : 模式匹配後替換的最大次數,預設 0 表示替換所有的匹配。

epl 引數是乙個函式的情況

以下例項中將字串中的匹配的數字乘於 2:

結果:

re.sub()與re.subn()區別就是後者subn將匹配的字串個數呈現了出來,並和替換後的字串組成乙個元組。

compile 函式用於編譯正規表示式,生成乙個正規表示式( pattern )物件,供 match() 和 search() 這兩個函式使用。

語法格式為:

re

.compile

(pattern

[,flags

])

在字串中找到正規表示式所匹配的所有子串,並返回乙個列表,如果沒有找到匹配的,則返回空列表。

注意: match 和 search 是匹配一次 findall 匹配所有。

語法格式為:

findall

(string

[,pos

[,endpos

]])

string 待匹配的字串。

pos 可選引數,指定字串的起始位置,預設為 0。

endpos 可選引數,指定字串的結束位置,預設為字串的長度。

和 findall 類似,在字串中找到正規表示式所匹配的所有子串,並把它們作為乙個迭代器返回。

re

.finditer

(pattern

,string

,flags=0

)

split 方法按照能夠匹配的子串將字串分割後返回列表,它的使用形式如下:

python中常用正規表示式

print re.findall d 123abc 數字 1 2 3 print re.findall d abcaa123abc 非數字 a b c a a a b c print re.findall abc 123abcaaabc abc abc print re.findall aa nab...

python中常用正規表示式

1 匹配字母數字和下劃線 a za z0 9 等價於 w 取非 a za z0 9 等價於 w 2 匹配數字 0 9 等價與 d d 表示任意個數字。取非 0 9 等價與 d u4e00 u9fa5 匹配單個漢字,不含標點符號 u4e00 u9fa5 匹配詞語或以上漢字 取非 u4e00 u9fa5...

python3正規表示式

正規表示式,又稱規則表示式。英語 regular expression,在 中常簡寫為regex regexp或re 電腦科學的乙個概念。正規表示式通常被用來檢索 替換那些符合某個模式 規則 的文字。正規表示式是對字串操作的一種邏輯公式,就是用事先定義好的一些特定字元 及這些特定字元的組合,組成乙個...