#findall有兩種用法: findall(string[, pos[, endpos]]) re.findall(pattern, string[, flags]) #示例 import re a = 'abc123abv23456' b = re.findall(r'23(a)?',a) print b b = re.findall(r'23(?:a)?',a) print b #輸出結果: 'a', ''] ['23a', '23'] #findall若是使用了分組,則輸出的內容將是分組中的內容而非find到的結果,爲了獲得find到的結果,要加上問號來啓用「不捕捉模式」
re.match(pattern, string[, flags]) #判斷 pattern 是否在字符串開頭位置匹配。對於 RegexObject,有: match(string[, pos[, endpos]]) #match() 函數只在字符串的開始位置嘗試匹配正則表達式,也就是隻報告從位置 0 開始的匹配狀況,而 search() 函數是掃描整個字符串來查找匹配。若是想要搜索整個字符串來尋找匹配,應當用 search()。