re.match只匹配字符串的開始,如果字符串開始不符合正則表達式,則匹配失敗,函數返回None;而re.search匹配整個字符串,直到找到一個匹配。
例如:
import re
print(re.match('www', 'www.runoob.com').span()) # 在起始位置匹配
print(re.match('com', 'www.runoob.com')) # 不在起始位置匹配
以上實例運行輸出結果爲:
(0, 3) None
以上實例運行輸出結果爲:
(0, 3) (11, 14)
2、檢索和替換
sub
Python 的re模塊提供了re.sub用於替換字符串中的匹配項。
語法:
re.sub(pattern, repl, string, count=0)
以上實例執行結果如下:
電話號碼 : 2004-959-559
電話號碼 : 2004959559
findall
在字符串中找到正則表達式所匹配的所有子串,並返回一個列表,如果沒有找到匹配的,則返回空列表。
注意: match 和 search 是匹配一次 findall 匹配所有。
語法格式爲:
findall(string[, pos[, endpos]])
輸出結果:
['123', '456'] ['88', '12']