python爬蟲 四 正規表示式

2021-10-07 06:36:56 字數 2764 閱讀 9667

使用正

則表示式

引入模組

re使用正規表示式引入模組re

使用正則表達

式引入模組re

import re
ⅰ.使

用.co

mpil

e()方

法建立一

個正則表

達式\colorⅰ.使用.compile()方法建立乙個正規表示式

ⅰ.使用.c

ompi

le()

方法建立

乙個正規表示式

pat = re.compile("aa")
如程式碼

所示,p

at只匹

配aa的

部分如**所示,pat只匹配aa的部分

如程式碼所示,

pat只

匹配aa

的部分

ⅱ .使

用.se

arch

()來匹

配\colorⅱ.使用.search()來匹配

ⅱ.使用.s

earc

h()來

匹配

import re

pat = re.compile("aa") #匹配規則

m = pat.search("asdsdaaiaaa") #對"asdsdaaiaaa"進行匹配

配後返回匹配是

否成功,

在哪匹配

等資訊.

匹配後返回匹配是否成功,在哪匹配等資訊.

匹配後返回匹

配是否成

功,在哪

匹配等信

息.而且只匹配第乙個出現位置ⅲ.使

用.fi

ndal

l()方

法來匹配

\colorⅲ.使用.findall()方法來匹配

ⅲ.使用.f

inda

ll()

方法來匹

配 上 面說

到sea

rch(

)只能匹

配第乙個

出現位置

,那fi

ndal

l能匹配

所有位置

上面說到search()只能匹配第乙個出現位置,那findall能匹配所有位置

上面說到se

arch

()只能

匹配第一

個出現位

置,那f

inda

ll能匹

配所有位

置 . fi

ndal

l(字元

串1,字

符串2)

.findall(字串1,字串2)

.finda

ll(字

符串1,

字串2) 其 中字

符串1是

匹配標準

模板,字

符串2是

待匹配的

串其中字串1是匹配標準模板,字串2是待匹配的串

其中字串1

是匹配標

準模板,

字串2是待匹配

的串

import re

print(re.findall("[a-z]","asasasfsaasal")) #模板串使用了正規表示式,匹配乙個大寫字母

再來看乙個

import re

print(re.findall("[a-z]+","asasasfsaasal")) #'+'表示匹配1個或多個

ⅳ .替

換方法.

sub(

)\colorⅳ.替換方法.sub()

ⅳ.替換方法

.sub

() .su

b(串1

,串2,

串3).sub(串1,串2,串3)

.sub(串

1,串2

,串3)

把串3中的串1都替換為串2

最後建議在比較串前面加上r,可以不用擔心轉義的問題如下面的**

python爬蟲 正規表示式

正規表示式是十分高效而優美的匹配字串工具,一定要好好掌握。利用正規表示式可以輕易地從返回的頁面中提取出我們想要的內容。1 貪婪模式與非貪婪模式 python預設是貪婪模式。貪婪模式,總是嘗試匹配盡可能多的字元 非貪婪模式,總是嘗試盡可能少的字元。一般採用非貪婪模式來提取。2 反斜槓問題 正規表示式裡...

Python爬蟲 正規表示式

一般的正規表示式都可直接到正則生成工具處生成,常見匹配字元 re.match及其常規匹配 re.match 嘗試從字串的起始位置匹配乙個模式,如果不是起始位置匹配成功的話,match 就返回none。re.match pattern,string,flags 0 返回的為乙個物件,其中span代表長...

Python 爬蟲 正規表示式

常見的正則字元和含義如下 匹配任意字元,除了換行符 匹配字串開頭 匹配字串末尾 匹配括號內表示式,也表示乙個組 s 匹配空白字元 s 匹配任何非空白字元 d 匹配數字,等價於 0 9 d 匹配任何非數字,等價於 0 9 w 匹配字母數字,等價於 a za z0 9 w 匹配非字母數字,等價於 a z...