今天把之前學的正則表達式好好總結總結。
一、元字符
. : .表示可以匹配任意一個字符
/d : /d表示可以匹配任意一個數字
/D : /D表示可以匹配任意一個非數字
/s : /s表示可以匹配任意一個空白字母
/S : /S表示可以匹配任意一個非空白字母
/w : /w表示可以匹配任意一個字符
/W: /W表示可以匹配任意一個非字符
[] : []表示可以匹配括號中的任意的一個字符 例:[abc] , [a-z] , [^ab]
^ : ^表示只匹配字符串的開始部分 例:'^fdsfs'
$ : $表示只匹配字符串的末尾部分 例:'fdsfs$'
* : *表示重復上一個字符0次或者多次
+ : +表示重復上一個字符1次或者多次
? : ?表示重復上一個字符0次或者1次
{m,n} :{m,n}表示重復次數,最小重復m次,最大重復n次。 還可以{n}這么用,表示重復n次
非貪婪模式: 表示匹配時進行最短匹配。 用法為:在重復符后面添加一個?
二、常用函數
re.compile(pattern) 有一個參數表示模式串,也就是匹配規則。返回一個對象,通過對象可以調用相關函數。 函數的作用是將模式串編譯,可以更快的匹配
re.match(pattern , str) 有兩個參數,第一個表示模式串,第二個表示要匹配的字符串。開始部分匹配成功,返回一個對象
re.search(pattern, str) 有兩個參數,第一個表示模式串,第二個表示要匹配的字符串。任意部分匹配成功,返回一個對象
re.findall(pattern, str)有兩個參數,第一個表示模式串,第二個表示要匹配的字符串。將所有匹配的字段保存到列表中,返回列表
re.sub(pattern,replace,str) 有三個參數,第一個表示模式串,第二個是要替換的字符串,第三個表示要被替換的字符串。返回列表。函數用于匹配要替換的字符串
re.subn 功能和sub類似,多一個返回值,為替換的個數
re.split(pattern,str) 有兩個參數,第一個表示模式串,第二個表示要被分離的字符串。
re.I 屬性,表示忽略大小寫
re.M 屬性,表示多行匹配
re.S 屬性,表示可以匹配不可見字符
新聞熱點
疑難解答