re.S

re.S用法
re.S的作用:

不使用re.S时,则只在每一行内进行匹配,如果存在一行没有,就换下一行重新开始,使用re.S参数以后,正则表达式会将这个字符串看做整体,在整体中进行匹配,一般在爬虫项目中会经常用到。

例:

1 import re
2 a = """This is 
3 a*webspider*item!
4 maoyanmovierank"""
5 
6 b = re.findall('a(.*?)item',a)
7 c = re.findall('a(.*?)item',a,re.S)
8 print (b)
9 print(c)

 

输出结果:

 1 b:[] 2 c:['webspider'] 
这里的re.S代表使正则表达式(‘a(.*?)item’)中的"." 匹配包括换行在内的所有字符(.本身不包括换行符:\n\r)

下面为re模块的一些修饰符:

正则表达式可以包含一些可选标志修饰符来控制匹配的模式。修饰符被指定为一个可选的标志。多个标志可以通过按位 OR(|) 它们来指定。如
re.I | re.M 被设置成 I 和 M 标志

re.I 忽略大小写
re.L 表示特殊字符集 \w, \W, \b, \B, \s, \S 依赖于当前环境
re.M 多行模式
re.S 即为 . 并且包括换行符在内的任意字符(. 不包括换行符)
re.U 表示特殊字符集 \w, \W, \b, \B, \d, \D, \s, \S 依赖于 Unicode 字符属性数据库
re.X 为了增加可读性,忽略空格和 # 后面的注释

posted @ 2022-05-24 11:06  博二爷  阅读(175)  评论(0编辑  收藏  举报