浅谈Python采集网页时正则表达式匹配换行符的问题

如下所示:

p1 = r'(?<=<div class="ds_cr">)(.*?)(?=<div id="pageurl">)' #这样采集html时出错,采集不到数据,正则中 . 是不能匹配换行符,改成如下:
p1 = r'(?<=<div class="ds_cr">)([\s\S]*?)(?=<div id="pageurl">)' # 这是我们写的正则表达式规则,你现在可以不理解啥意思

[\s\S]

\s

匹配任何空白字符,包括空格、制表符、换页符等等。等价于[ \f\n\r\t\v]。

\S

匹配任何非空白字符。等价于[^ \f\n\r\t\v]。

相关推荐