溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Re模塊怎么支持python爬蟲的正則表達(dá)式

發(fā)布時(shí)間:2020-11-12 09:37:38 來源:億速云 閱讀:167 作者:小新 欄目:編程語言

這篇文章給大家分享的是有關(guān)Re模塊怎么支持python爬蟲的正則表達(dá)式的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考。一起跟隨小編過來看看吧。

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匹配失?。?#39;

運(yùn)行結(jié)果

hello
hello
3匹配失?。?
Hello

 

2.re.search(pattern, string[, flags])

search 方法與 match 方法極其類似,區(qū)別在于 match () 函數(shù)只檢測 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ò),可以把它分享出去讓更多的人看到吧!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI