1.導(dǎo)入模塊re
2.正則表達(dá)式:記錄文本規(guī)則的代碼
3..匹配字符時(shí) :
?匹配:re.match(pattern,string,flags=0) ? ? ? 獲取結(jié)果:變量.group( )
?匹配失敗:意為變量.group( )獲得到的結(jié)果為空:
Attribute Error : ?'None Type' object has no attribute'group'
4.匹配單個(gè)字符:
????.:匹配任意1個(gè)字符(除了\n)
????[ ]:匹配[ ]中列舉的字符
????\d:匹配數(shù)字摸柄,即0-9
????\D:匹配非數(shù)字
????\s:匹配空白
????\S:匹配非空白
????\w:匹配單詞字符(即a-z颤练、A-Z、0-9驱负、_)
????\W:匹配非單詞字符
5.匹配多個(gè)字符:
????*:匹配前一個(gè)字符出現(xiàn)0次或者無限次
????+:匹配前一個(gè)字符出現(xiàn)1次或者無限次
?????:匹配前一個(gè)字符出現(xiàn)1次或者0次
????{m}:匹配前一個(gè)字符出現(xiàn)m次
????{m,n}:匹配前一個(gè)字符出現(xiàn)從m到n次
6.匹配開頭和結(jié)尾:
????^:匹配字符串開頭
????$:匹配字符串結(jié)尾
7.匹配分組:
????|:匹配左右任意一個(gè)表達(dá)式
????(ab):將括號(hào)中字符作為一個(gè)分組
????\num:引用分組num匹配到的字符串
????(?P):分組起別名
????(?P=name):引用別名為name分組匹配到的字符串
8.高級(jí)應(yīng)用:
? ? 8.1?search:搜索一次
? ? 8.2?findall:搜索多次
? ? 8.3 sub:替換
? ? 8.4?split:切割
9.r的應(yīng)用:python中字符串前面加上 r 表示原生字符串
10.python中的貪婪和非貪婪:
????"*"嗦玖,"?","+"跃脊,"{m,n}"后面加上宇挫?,使貪婪變成非貪婪
? ? 例:.*:使用正則將標(biāo)簽<>替換掉酪术,默認(rèn)會(huì)從頭到尾都匹配掉
下一期會(huì)進(jìn)行例子的列舉~