1. 程式人生 > >python 正則 換行符問題 不支援(.*?)

python 正則 換行符問題 不支援(.*?)

有些換行符帶著 (.*?)匹配不到 就和很蛋疼

後來認識了\s 和\S

是完全通配的意思,\s是指空白,包括空格、換行、tab縮排等所有的空白,而\S剛好相反
這樣一正一反下來,就表示所有的字元,完全的,一字不漏的。

故而可以替換

p1 = r'(?<=<div class="ds_cr">)(.*?)(?=<div id="pageurl">)'  #這樣採集html時出錯,採集不到資料,正則中 . 是不能匹配換行符,改成如下:
p1 = r'(?<=<div class="ds_cr">)([\s\S]*?)(?=<div id="pageurl">)'  # 這是我們寫的正則表示式規則,你現在可以不理解啥意思