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

版权声明:独学而无友,则孤陋寡闻。q群582951247 https://blog.csdn.net/mp624183768/article/details/83451588

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

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

猜你喜欢

转载自blog.csdn.net/mp624183768/article/details/83451588