re moudle 是python定義正則表達(dá)式的模塊
用法:result = re.match(正則表達(dá)式趾撵,要匹配的字符串)
re.match 是用來進(jìn)行正則匹配檢查方法,若字符串匹配正則表達(dá)式既们,則match方法的返回匹配對象(Match Object),否則返回None
匹配對象Match Object具有g(shù)roup方法正什,用來返回字符串的匹配部分
注意:match方法是默認(rèn)為字符串從左往右一次進(jìn)行比對 當(dāng)什么占位符都沒有的時候啥纸,從左一次比對,比對完正則表達(dá)式之后剩下的部分就全部加載
字符 功能
- . 表示占位符婴氮,匹配任意一個字符(除了\n)
- [] 表示匹配[]中列舉的字符 可以完全替代其他字符 例如:\d == [0-9] \D[^0-9]
- \d 表示匹配的是數(shù)字斯棒,0-9
- \D 表示匹配非數(shù)字 即不是數(shù)字
- \s 表示匹配空白,即空格 tab等
- \S 表示除空白
- \w 表示匹配單詞字符主经,即a-z荣暮,A-Z,0-9罩驻,_
- \W 表示匹配非單詞字符
-
數(shù)量
- * 表示匹配前一個字符出現(xiàn)0次或者無限次
- + 匹配前一個字符出現(xiàn)1次或者無限次
- 穗酥? 匹配前一個字符出現(xiàn)1次或者0次 即 要每出現(xiàn)一次 要么沒有
- {m} 匹配前一個衣服出現(xiàn)m次
- {m,} 匹配前一個字符至少出現(xiàn)m次
- {m,n} 匹配前一個字符出現(xiàn)從m到n次
注意:在正則表達(dá)式前面加上r就會完成正則表達(dá)式中的轉(zhuǎn)義
-
表示邊界
- ^ 表示匹配字符串開頭
- $ 表示匹配字符串結(jié)尾
- \b 表示匹配一個單詞的邊界(是空格或者開頭結(jié)尾)
- \B 表示匹配非單詞邊界(非空格開頭結(jié)尾)
-
匹配分組:
| 表示匹配左右任意一個表達(dá)式(表示或的意思左右兩邊都是等價的正則表達(dá)式)例:匹配0-100 re.match(r"^[1-9]\d?|100&")
(ab) 表示將括號中字符作為一個分組
\num 表示引起分組num分配到的字符串
(?p<name>)分組起別名
(?P=name)引用別名為name分組匹配到的字符串