re.S用法

re.S用法

re.S的作用:

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

例:

import re
a = """This is 
a*webspider*item!
maoyanmovierank"""

b = re.findall('a(.*?)item',a)
c = re.findall('a(.*?)item',a,re.S)
print (b)
print(c)

输出结果:

b:[]
c:['webspider']

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

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

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

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

猜你喜欢

转载自blog.csdn.net/m0_46202060/article/details/109262415