1、什么是正則表達(dá)式?
一種規(guī)則字符串,非python特有,需導(dǎo)入re模塊,起到過濾、清洗數(shù)據(jù)的作用
2、用法詳解
正則表達(dá)式表
2.1、re.match()
最常規(guī)的匹配:
最常規(guī)匹配
常規(guī)匹配顯得很繁瑣,使用.*代替所有字符串:
泛匹配
使用括號和group(數(shù)字)可以獲取匹配的目標(biāo)結(jié)果:
匹配特定目標(biāo)
貪婪匹配:.*會默認(rèn)匹配盡量多的字符
貪婪匹配
非貪婪匹配:使用?采用非貪婪匹配
非貪婪匹配
匹配模式:因?yàn)?無法匹配換行符
匹配模式
re.S?改變匹配模式:
使用re.S
轉(zhuǎn)義:
轉(zhuǎn)義
2.2、re.search()
re.match()是從字符串開頭開始匹配的,一旦開頭不匹配,那么整個匹配就失敗了。re.search()會掃描整個字符串,反饋第一個匹配成功的結(jié)果。
re.search()
匹配練習(xí)1
匹配練習(xí)2
匹配練習(xí)3
2.3、re.findall()
因?yàn)閞e.rearch()只能返回匹配的第一個結(jié)果,如果想返回所有符合匹配規(guī)則的結(jié)果,就要使用re.findall(),如果有匹配結(jié)果,返回的是一個列表。
re/findall()
打印列表及元祖
匹配練習(xí)4
2.4、re.sub()
把數(shù)字替換成空
第二個參數(shù)的作用(替換成的結(jié)果)
如果要替換成的結(jié)果里包含匹配的結(jié)果,需要用 \數(shù)字?獲取到匹配的結(jié)果
\1表示把第一個匹配結(jié)果
替換掉a標(biāo)簽
替換a標(biāo)簽
打印歌名列表
2.5、re.compile()
把正則字符串編譯成正則表達(dá)式對象,以便在后面的匹配中復(fù)用。
re.compile()使用
爬取豆瓣圖書
爬取豆瓣圖書實(shí)戰(zhàn)練習(xí)