Python正則表示式及match函式的用法
阿新 • • 發佈:2019-01-01
正則表示式(Regular Expression)是使用單個字串來描述、匹配一系列語法規則的字串。簡稱RE。
RE是爬蟲的基礎模組,可以用於驗證電話號碼,身份證號,郵箱,使用者名稱和密碼,url地址等。
操作步驟
呼叫re模組(python內嵌的包)
import re
使用match或者search方法進行匹配操作
a=re.match(pattern,string,flags=0)
pattern 匹配規則模式
string 要匹配的字串
匹配到的資料通常使用group等方法來提取(字串格式),groups(所有分組元組格式)
import re
try:
pattern=r'(\w+) (\w+)(?P<name>.)*'
string='青苔 asd123!!!'
a=re.match(pattern,string)
print('匹配成功,結果為:',a.group)
except:
print('匹配失敗!')
輸出—>匹配成功,結果為:青苔asd
match函式的屬性
string:匹配時使用的文字
re:匹配時使用的pattren物件
pos:文字中正則表示式開始搜尋的索引。值與 Pattern.match()和 Pattern.seach()方法的同名引數相同。
endpos: 文字中正則表示式結束搜尋的索引。值與 Pattern.match()和 Pattern.seach()方法的同名引數相同。
lastindex:
lastgroup: 最後一個被捕獲的分組的別名。如果這個分組沒有別名或者沒有被捕獲的分組,將為 None。
match函式的方法
group 函式,獲取一個或多個分組的字串。
start 函式,返回指定的組截獲的子串在 string 中的起始索引。
end 函式,返回指定的組截獲的子串在 string 中的結束索引。
span 函式,返回指定的組截獲的子串在 string 中的結束索引。
expand 函式,將匹配到的分組代入 template 中然後返回。
個人理解:match和search方法很相似,但search方法用來匹配字串中間的資料,而match方法只能從頭開始檢索。