match()、search()、findaII()函數
re.match()函數嘗試在字符串的起始位置匹配壹個模式,如果匹配成功,則返回MatchObject對象實例;否則返回None。re.search()函數掃描整個字符串並返回第壹個成功的匹配,匹配成功返回MatchObject對象實例,否則返回None。re.findall()函數在字符串中找到正則表達式所匹配的所有子字符串,並返回壹個列表;如果沒有找到匹配的子字符串,則返回空列表。
3個函數的語法格式分別為:
其參數含義相同,說明如下。
· pattern:匹配的正則表達式。
· string:要匹配的字符串。
· flags:標誌位,用於控制正則表達式的匹配模式。
下面分別對這3個函數進行舉例說明。
1.re.match()函數
如果匹配成功,那麽re.match()函數返回壹個匹配的對象;否則返回None。
可以使用group(num)或groups()匹配對象函數來獲取匹配表達式。
2.re.search()函數
如果匹配成功,那麽re.search()函數返回壹個匹配的對象;否則返回None。
可以使用group(num)或groups()匹配對象函數來獲取匹配表達式。
和match()函數不同的是,search()函數掃描整個字符串,並返回第壹個成功的匹配。
3.re.findaII()函數
re.findall()函數在字符串中找到正則表達式所匹配的所有子字符串,並返回壹個列表;如果沒有找到匹配的子字符串,則返回空列表。
註意
match()和search()函數只能匹配壹次,而findall()函數可以匹配多次。
compiIe()函數
re.compile()函數用於編譯正則表達式,生成壹個正則表達式對象,供match()和search()函數使用。
compile()函數的語法格式如下:
其參數含義如下。
· pattern:匹配的正則表達式。
· flags:標誌位,用於控制正則表達式的匹配模式。