爬蟲 正規表示式

2022-09-14 20:51:16 字數 1748 閱讀 6695

正規表示式(regular expression)是一種字串匹配的模式(pattern)。它可以檢查乙個字串是否含有某種子串;替換匹配的子串;提取某個字串中匹配的子串。

#

匯入正則模組

importre#

字元匹配

rs = re.findall('

abc', '

adc'

)print

(rs)

rs = re.findall('

a.c', '

abc'

)print

(rs)

rs = re.findall('

a.c', '

a\nc')

print

(rs)

rs = re.findall('

a.c', '

a.c'

)print

(rs)

rs = re.findall('

a\.c

', '

a.c'

)print

(rs)

rs = re.findall('

a\.c

', '

abc'

)print

(rs)

rs = re.findall('

a[bc]d

', '

abd'

)print

(rs)

rs = re.findall('

a[bc]d

', '

acd'

)print

(rs)

#預定義的字符集

rs = re.findall('

\d', '

123')#

\w 匹配 下劃線 字母 中文

rs = re.findall('

\w', '

az123_中文$%')

#數量詞

rs = re.findall('

\d*', '

123')

掃瞄整個string字串,返回所有與pattern匹配的列表

importre#

1.findall方法,返回匹配的結果列表

rs = re.findall('

\d+', '

gazikel23zihoo98')

print

(rs)

#2.findall方法中,flag引數的作用

rs = re.findall('

a.bc

', '

a\nbc

', re.dotall)

rs = re.findall('

a.bc

', '

a\nbc

', re.s)

print(rs)

如果正則中沒有()則返回與整個正規表示式匹配的列表。

如果正規表示式中有()中匹配的內容列表,小括號兩邊的東西都是負責提取資料所在位置。

#

3.findall方法中分組的使用

rs = re.findall('

a(.+)bc

', '

a\nbc

', re.dotall)

#['\n']

print(rs)

正則中使用r原串,能夠忽略轉義符號帶來的影響

將匹配的字串中有多少個\,r原串正則中就新增多少個\即可。

python爬蟲 正規表示式

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

Python爬蟲 正規表示式

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

爬蟲(十) 正規表示式

正規表示式 就是事先定義好一些特殊字元,及特定字元的組合,組成乙個 規則字串 這個規則字串用來表達對字串的乙個過濾邏輯 字元 含義 match 方法 match 方法用於查詢字串的頭部 也可以指定起始位置 它是一次匹配,只要找到了乙個匹配的結果就返回,而不是查詢所有匹配的結果 貪婪模式 貪婪模式盡可...