1. 程式人生 > 實用技巧 >spider.3-爬蟲中的re

spider.3-爬蟲中的re

1、compile()

編譯正則表示式模式,返回一個物件的模式。(可以把那些常用的正則表示式編譯成正則表示式物件,這樣可以提高一點效率。)

格式:

re.compile(pattern,flags=0)

pattern: 編譯時用的表示式字串。

flags 編譯標誌位,用於修改正則表示式的匹配方式,如:是否區分大小寫,多行匹配等

標誌 含義
re.S(DOTALL) 使.匹配包括換行在內的所有字元
re.I(IGNORECASE) 使匹配對大小寫不敏感
re.L(LOCALE) 做本地化識別(locale-aware)匹配,法語等
re.M(MULTILINE) 多行匹配,影響^和$
re.X(VERBOSE) 該標誌通過給予更靈活的格式以便將正則表示式寫得更易於理解
re.U 根據Unicode字符集解析字元,這個標誌影響\w,\W,\b,\B
import re
tt = "Tina is a good girl, she is cool, clever, and so on..."
rr = re.compile(r'\w*oo\w*')
print(rr.findall(tt))   #查詢所有包含'oo'的單詞
執行結果如下:
['good', 'cool']

2、findall()

re.findall遍歷匹配,可以獲取字串中所有匹配的字串,返回一個列表。

格式:

re.findall(pattern, string, flags=0)

import re 

s = "A B C D"

# 1.
p1 = re.compile('\w+\s+\w+')
print(p1.findall(s))

# 2.
print(re.findall('\w+\s+\w+',s))

# 3.
print(re.compile('\w+\s+\w+').findall(s))

3.