操作符
說明例項
.單個字元
字符集[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型別,這樣會...