python 正则 换行符问题 不支持(.*?)

是她丫

关注

阅读 79

2023-03-17


有些换行符带着 (.*?)匹配不到 就和很蛋疼

后来认识了\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">)' # 这是我们写的正则表达式规则,你现在可以不理解啥意思

 

精彩评论(0)

0 0 举报