1. re.compile(pattern[,flags]):根據包含正則表達式的字符串建立模式對象。正則表達式
2. re.findall(pattern,string):列出全部匹配項。返回一個列表。函數
3. re.sarch(pattern,string[,flags]):只尋找出第一個匹配項。oop
4. re.match(pattern,string[,flags]):只在字符串的開頭處匹配,只匹配第一個匹配項。spa
5. re.split(pattern,string[,maxsplit=0]:用於分割字符串。對象
6. re.sub(pat, repl, string[,count=0]):將字符串中全部pat的匹配項用repl替換。blog
7. re.escape(string):將字符串中全部特殊正則表達式字符進行轉義。索引
經過re模塊中的函數,當找到匹配項時,會返回一個MatchObject對象,能夠對這些對象應用一些方法。字符串
1. group():在正則中一對括號表明一組,組的序號取決於它左側的括號數量。組0就是整個模式。string
例:‘There (was a (wee)(cooper)) who (lived in Fyfe)'it
包含下面這些組:
0 There was a wee cooper who lived in Fyfe
1 was a wee cooper
2 wee
3 cooper
4 lived in Fyfe
例2:
>>>m = re.match(r"(..)+", "a1b2c3")
>>>m.group(1)
'c3'
這裏只有一個括號,因此是一個group....這個group匹配了3次,一個group的每一次匹配覆蓋上一次的匹配結果。
2. start([group]):返回給定組匹配項的開始索引
3. end([group]):返回給定組匹配項的結束索引加+1
4. span([group]):以元組的形式返回開始和結束索引。
*?,+?,??,{m,n}? 前面的*,+,?等都是貪婪匹配,也就是儘量匹配,後面加?號使其變成惰性匹配。