在Python的正则表达式中,有一个参数为re.S。它表示“.”(不包含外侧双引号,下同)的作用扩展到整个字符串,包括“\n”。看如下代码:

import re
a = '''asdfsafhellopass:234455worldafdsf'''
b = re.findall('hello(.*?)world',a)
c = re.findall('hello(.*?)world',a,re.S)
print 'b is ' , b
print 'c is ' , c

运行结果如下

b is  []
c is  ['pass:\n\t234455\n\t']

正则表达式中,“.”的作用是匹配除“\n”以外的任何字符,也就是说,它是在一行中进行匹配。这里的“行”是以“\n”进行区分的。a字符串有每行的末尾有一个“\n”,不过它不可见。

如果不使用re.S参数,则只在每一行内进行匹配,如果一行没有,就换下一行重新开始,不会跨行。而使用re.S参数以后,正则表达式会将这个字符串作为一个整体,将“\n”当做一个普通的字符加入到这个字符串中,在整体中进行匹配。

转载于:https://www.cnblogs.com/moning/p/8296893.html

正则表达式re.S的用法相关推荐

  1. Python——正则表达式特殊符号及用法

    由于正则表达式的内容比较多,所以单独写成一系列文章,主要内容是根据小甲鱼所讲的内容综合一下正则表达式的笔记. 贴上小甲鱼的<Python3 如何优雅地使用正则表达式>系列可观看的博客地址: ...

  2. python语言所使用的特殊含义符号_Python3 正则表达式特殊符号及用法

    Python3 正则表达式特殊符号及用法(详细列表) 正则表达式的强大之处在于特殊符号的应用,特殊符号定义了字符集合.子组匹配.模式重 复次数.正是这些特殊符号使得一个正则表达式可以匹配字符串集合而不 ...

  3. 正则表达式中?的用法

    正则表达式-问号的四种用法 原文符号 因为?在正则表达式中有特殊的含义,所以如果想匹配?本身,则需要转义,\? 有无量词 问号可以表示重复前面内容的0次或一次,也就是要么不出现,要么出现一次. 非贪婪 ...

  4. Python3 正则表达式特殊符号及用法(详细列表)

    文章目录 表格 实例 | ^ $ \ 数字是1 ~ 99: 数字是0: [----] {} 贪婪模式匹配 非贪婪模式匹配 \b findall 注意: 实例1 实例2 实例3 实例4 如何消除find ...

  5. python 正则表达式 分组_正则表达式之分组的用法

    分组的概念 在一个正则表达式中, 通过英文()包裹的内容, 就对应着一个分组, 如下正则表达式, 就包含了两个分组 /a-z(\d+)a-z(\d+)/ 分组的排序 一般来说, 分组都是从1开始排序的 ...

  6. C#正则表达式Regex类的用法

    一.C#正则表达式符号模式 字 符 描 述 \ 转义字符,将一个具有特殊功能的字符转义为一个普通字符,或反过来 ^ 匹配输入字符串的开始位置 $ 匹配输入字符串的结束位置 * 匹配前面的零次或多次的子 ...

  7. python3 正则匹配特殊符号_Python3 正则表达式特殊符号及用法(详细列表)

    字符含义 .表示匹配除了换行符外的任何字符注:通过设置 re.DOTALL 标志可以使.匹配任何字符(包含换行符) |A | B,表示匹配正则表达式 A 或者 B ^1. (脱字符)匹配输入字符串的开 ...

  8. 关于手机号码、邮箱的在JavaScript中的正则表达式和其简单用法

    首先介绍如何使用javascript正则来匹配中国电信段手机号码: 1.电信段分别有:133,153,180,181,189,177 总共六个号段 2.第一位为数字1 3.第二位分别是3,5,7,8 ...

  9. Python中正则表达式re.match的用法

    re.match(pattern, string, flags) 第一个参数是正则表达式,如果匹配成功,则返回一个Match,否则返回一个None: 第二个参数表示要匹配的字符串: 第三个参数是标致位 ...

最新文章

  1. iOS摄像头和相册-UIImagePickerController-浅析(转)
  2. 自动清理归档日志_从MYSQL 数据库归档 到 归档设计
  3. 数据3分钟丨墨天轮2021年度数据库奖项及中国数据库魔力象限等多项成果发布...
  4. npm安装失败,哪位大神帮忙看一下
  5. 用c语言实现艺术清屏
  6. paddle中import onnxruntime报错缺失Microsoft Visual C++ Redistributable for Visual Studio 2019 not install
  7. ubuntu中mysql安装失败
  8. 数据结构图之三(最短路径--迪杰斯特拉算法)
  9. JAVA(int...i)问题
  10. Vue 全站缓存之 vue-router-then :前后页数据传递
  11. php拼接二维码,文字和二维码进行合并
  12. 逃离北上广?程序员的北漂生活
  13. 信息化和信息系统知识点总结
  14. C++(qt)游戏实战项目:坦克大战(五)
  15. java麻将算法_Java实现的麻将胡牌算法
  16. Mysql基础篇(2)—— 单行函数和聚合函数
  17. Mac系统重置PostgreSQL密码
  18. 【NOIP模拟赛】七夕祭(环形均分纸牌)
  19. 【G4基础08】GPS-2-Macro Commands宏命令
  20. 五次多项式对2R平面机器人关节的轨迹控制

热门文章

  1. JS中SetTimeOut和SetInterval方法的区别?
  2. 通过cmd命令安装、卸载、启动和停止Windows Service(InstallUtil.exe)-大壮他哥
  3. spring mvc 下载文件链接
  4. IBATIS的优缺点
  5. [转]如何才能在 IIS 7.5 使用 Windows PowerShell Snap-In 功能
  6. 操作系统---页面置换算法
  7. 移动开发—Less基础与安装
  8. 眨眼快奔四了,大家的存款都有多少啊?
  9. 如何让自己的视频号作品上热门
  10. Currently, the Linux Mint team has 21 members