正則表達(dá)式是一個特殊的字符序列,它能幫助你方便的檢查一個字符串是否與某種模式匹配。re 模塊使 Python 語言擁有全部的正則表達(dá)式功能。compile 函數(shù)根據(jù)一個模式字符串和可選的標(biāo)志參數(shù)生成一個正則表達(dá)式對象。該對象擁有一系列方法用于正則表達(dá)式匹配和替換。re 模塊也提供了與這些方法功能完全一致的函數(shù),這些函數(shù)使用一個模式字符串做為它們的第一個參數(shù)。
Python通過re模塊提供對正則表達(dá)式的支持。使用re的一般步驟是先使用re.compile()函數(shù),將正則表達(dá)式的字符串形式編譯為Pattern實例,然后使用Pattern實例處理文本并獲得匹配結(jié)果(一個Match實例),最后使用Match實例獲得信息,進行其他的操作。
舉一個簡單的例子,在尋找一個字符串中所有的英文字符:
import re
pattern = re.compile('[a-zA-Z]')
result = pattern.findall('as3SiOPdj#@23awe')
print result
['a', 's', 'S', 'i', 'O', 'P', 'd', 'j', 'a', 'w', 'e']
關(guān)于語句的解釋pa=re.compile(r'imooc\n')語句中前面的r表示原字符串,需要匹配的是immo\n。如果不加r,\n就會認(rèn)為是換行,如果不想被認(rèn)做換行符,需要寫成\n。

ma=re.match(r,'.','0') ma.group() 結(jié)果為0.中間的點表示可以匹配任意一個字符。




加*表示緊挨著的字符出現(xiàn)0次或n次。

下圖所示正則表達(dá)式意思是:匹配下劃線開頭的字母串,和以下劃線開頭的任意字符串,+表示可以出現(xiàn)0次到無限次。

匹配163郵箱

163郵箱長度在6到10之間

?表示盡可能少匹配,+最少匹配1次,所以+?只匹配一次。


和$表示強匹配,必須以和$之間的字符串匹配才會返回結(jié)果。

\A表示必須以某字符串(比如下圖imooc)開頭,\Z表示必須以什么結(jié)尾


實現(xiàn)匹配163或者126()實現(xiàn)了分組


通過search方法實現(xiàn)字符串的匹配

search查找字符串只能查找出一個,findall則可以找出全部的。

通過sum函數(shù)可以實現(xiàn)列表中的元素加和。

string表示被替換的字符串,repl表示替換為的字符串或者函數(shù)返回的字符串。



正則表達(dá)式表示使用:或空格,或逗號?!皘”表示或者
