學習筆記 re庫入門

2021-10-19 17:40:14 字數 2493 閱讀 7932

操作符

說明例項

.單個字元

字符集[abc]表示a或b或c;[a-z]表示a到z間到乙個字元

[^]非字符集

[^abc]非a或b或c的單個字元

*前乙個字元0次或無限次擴充套件

abc*表示ab,abc,abcc,abccc等

+前乙個字元1次或無限次擴充套件

abc+表示abc,abcc,abccc等

?前乙個字元等0次或1次擴充套件

abc?表示ab,abc

|左右表達任意乙個

abc|def表示abc或def

擴充套件大括號前的乙個字元m次

abc表示abbc

擴充套件前乙個字元的m至n次(包括n)

abc表示abc,abbc

^匹配字串開頭

^abc表示abc在乙個字串開頭

$匹配字串結尾

abc$表示abc在乙個字串結尾

()分組標記,內部只能用|操作符

(abc)表示abc,(abc|def)表示abc,def

\d數字,等價於[0-9]

\w單詞字元,等價於[a-za-z0-9_]

\轉譯符

a.b 為a.b;a\b為a\b

re.search(pattern, string, flags=0)

#在字串pattern中搜尋,返回match

match = re.match(r'[1-9]\d'

,'bit 100081'

)if match:

# match非空

print

(match.group(0)

)

返回值為『100081』

flags引數:

引數名作用re.i

忽略大小寫

re.m

^操作符能夠給定字串的每行當作匹配開始

re.s

正規表示式中.操作符能匹配所有字元,預設除換行外的所有字元

re.match():

與search功能相似,但從字串開始位置匹配

如string=『bit 100081』將從bit開始匹配

re.findall():

搜尋全部子串,以列表型別返回

re.split(pattern, string, maxsplit=0, flags=0):

匹配字串,去除匹配到的部分,返回剩餘部分

match = re.split(r'[1-9]\d'

,'bit100081 tsu100084'

, maxsplit=1)

print

(match)

返回值:[『bit』, 『tsu100084』] # 僅分割第乙個

re.finditer()

引數與search相同

搜尋字串,返回乙個匹配結果的迭代型別,每個迭代元素是match物件

for m in re.finditer(r'[1-9]\d'

,'bit100081 tsu100084'):

if m:

print

(m.group(0)

)

返回結果:『100081』 『100084』

re.sub(pattern, repl, string, count=0, flags=0)

在乙個字串中替換所有匹配正規表示式的子串,返回替換後的字串

repl:用於替換的字串

string:被替換的字串

count:最大替換次數,0則為全替換

print

(re.sub(r'[1-9]\d'

,':zipcode'

,'bit100081 tsu100084'

))

輸出結果:bit:zipcode tsu:zipcode

r = re.compile()

把字串編譯為正規表示式,實現正規表示式表示,可使用物件方法,可直接呼叫

re匹配獲取的match物件

match物件屬性

物件內容

.string

待匹配的文字

.re匹配時的pattern物件(正規表示式)

.pos

正規表示式搜尋文字的開始位置

.enpos

文字的結束位置

物件方法

**用途

.group(0)

獲得匹配後的字串

.start()

匹配字串在原始字串的開始位置

.end()

結束位置

.span()

返回(.start, .end())

python庫學習筆記(re庫)

1.re.compile pattern flags 根據包含正規表示式的字串建立模式物件。2.re.findall pattern,string 列出所有匹配項。返回乙個列表。3.re.sarch pattern,string flags 只尋找出第乙個匹配項。4.re.match pattern...

學習筆記 03 單元七 Re 正規表示式 庫入門

一 簡介 正規表示式是用來簡潔表達一組字串的表示式。作用 1 表達文字型別的特徵 2 查詢或替代一組字串 3 匹配字串的全部或部分 二 正規表示式的語法 編譯 將符合正規表示式語法的字串轉換成正規表示式的特徵p re.compile regex 正規表示式的語法由字元和操作符構成 1 常用操作符 略...

python學習之re庫

正規表示式庫re是非常重要的乙個庫。首先正規表示式有兩種表示型別,一種是raw string型別 原生字串型別 也就是我們經常看到的r 的寫法,另一種是不帶r的寫法,稱為string型別。raw string的作用是把轉義字元當做普通的字元,所以一般來說,我們都是使用raw string型別,這樣會...