這篇文章給大家分享的是有關(guān)Re模塊怎么支持python爬蟲的正則表達(dá)式的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考。一起跟隨小編過來看看吧。
成都創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),塔河企業(yè)網(wǎng)站建設(shè),塔河品牌網(wǎng)站建設(shè),網(wǎng)站定制,塔河網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,塔河網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。Python 自帶了 re 模塊,它提供了對(duì)正則表達(dá)式的支持。主要用到的方法列舉如下
#返回pattern對(duì)象 re.compile(string[,flag]) #以下為匹配所用函數(shù) re.match(pattern, string[, flags]) re.search(pattern, string[, flags]) re.split(pattern, string[, maxsplit]) re.findall(pattern, string[, flags]) re.finditer(pattern, string[, flags]) re.sub(pattern, repl, string[, count]) re.subn(pattern, repl, string[, count])
本篇文章以兩個(gè)最常用的方法進(jìn)行舉例介紹
1.re.match(pattern, string[, flags])
這個(gè)方法將會(huì)從 string(我們要匹配的字符串)的開頭開始,嘗試匹配 pattern,一直向后匹配,如果遇到無法匹配的字符,立即返回 None,如果匹配未結(jié)束已經(jīng)到達(dá) string 的末尾,也會(huì)返回 None。兩個(gè)結(jié)果均表示匹配失敗,否則匹配 pattern 成功,同時(shí)匹配終止,不再對(duì) string 向后匹配。下面我們通過一個(gè)例子理解一下
__author__ = 'CQC' # -*- coding: utf-8 -*- #導(dǎo)入re模塊 import re # 將正則表達(dá)式編譯成Pattern對(duì)象,注意hello前面的r的意思是“原生字符串” pattern = re.compile(r'hello') # 使用re.match匹配文本,獲得匹配結(jié)果,無法匹配時(shí)將返回None result1 = re.match(pattern,'hello') result2 = re.match(pattern,'helloo CQC!') result3 = re.match(pattern,'helo CQC!') result4 = re.match(pattern,'hello CQC!') #如果1匹配成功 if result1: # 使用Match獲得分組信息 print result1.group() else: print '1匹配失敗!' #如果2匹配成功 if result2: # 使用Match獲得分組信息 print result2.group() else: print '2匹配失??!' #如果3匹配成功 if result3: # 使用Match獲得分組信息 print result3.group() else: print '3匹配失??!' #如果4匹配成功 if result4: # 使用Match獲得分組信息 print result4.group() else: print '4匹配失敗!'
運(yùn)行結(jié)果
hello hello 3匹配失敗! Hello
2.re.search(pattern, string[, flags])
search 方法與 match 方法極其類似,區(qū)別在于 match () 函數(shù)只檢測(cè) re 是不是在 string 的開始位置匹配,search () 會(huì)掃描整個(gè) string 查找匹配,match()只有在 0 位置匹配成功的話才有返回,如果不是開始位置匹配成功的話,match () 就返回 None。同樣,search 方法的返回對(duì)象同樣 match () 返回對(duì)象的方法和屬性。我們用一個(gè)例子感受一下
#導(dǎo)入re模塊 import re # 將正則表達(dá)式編譯成Pattern對(duì)象 pattern = re.compile(r'world') # 使用search()查找匹配的子串,不存在能匹配的子串時(shí)將返回None # 這個(gè)例子中使用match()無法成功匹配 match = re.search(pattern,'hello world!') if match: # 使用Match獲得分組信息 print match.group() ### 輸出 ### # world
感謝各位的閱讀!關(guān)于Re模塊怎么支持python爬蟲的正則表達(dá)式就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!
當(dāng)前題目:Re模塊怎么支持python爬蟲的正則表達(dá)式-創(chuàng)新互聯(lián)
URL分享:http://www.rwnh.cn/article46/cepdeg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計(jì)、營(yíng)銷型網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)公司、動(dòng)態(tài)網(wǎng)站、Google、用戶體驗(yàn)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容