1. 程式人生 > >【Python3 爬蟲學習筆記】基本庫的使用 12—— 正則表示式 5

【Python3 爬蟲學習筆記】基本庫的使用 12—— 正則表示式 5

6. compile()

compile()方法可以將正則字串編譯成正則表示式物件,以便在後面的匹配中複用。示例程式碼如下:

import re

content1 = '2016-12-15 12:00'
content2 = '2016-12-17 12:55'
content3 = '2016-12-22 13:21'
pattern = re.compile('\d{2}:\d{-2}')
result1 = re.sub(pattern, '', content1)
result2 = re.sub(pattern, '', content2)
result3 = re.sub(
pattern, '', content3) print(result1, result2, result3)

假如這裡有3個日期,我們想分別將3個日期中的時間去掉,這時可以藉助sub()方法。該方法的第一個引數是正則表示式,但是這裡沒有必要重複寫3個同樣的正則表示式,此時可以藉助compile()方法將正則表示式編譯成一個正則表示式物件,以便複用。
執行結果如下:

2016-12-15 12:00 2016-12-17 12:55 2016-12-22 13:21

另外,compile()還可以傳入修飾符,例如re.S等修飾符,這樣在search()、findall()等方法中就不需要額外傳了。所以,compile()方法還可以說是正則表示式做了一次封裝,以便我們更好地複用。