re.DOTALL --编写多行模式的正则表达式
常用方法
pattern = "DNS:(.*?)[,\s]" # [] 表示"," 或者s结尾
#regex = re.compile(pattern, re.IGNORECASE|re.S)
stritem = re.findall(pattern, buff, re.IGNORECASE|re.S)
# re.IGNORECASE 表示忽略大小写
# re.S 如果不使用re.S参数,则只在每一行内进行匹配,如果一行没有,就换下一行重新开始。
而使用re.S参数以后,正则表达式会将这个字符串作为一个整体,在整体中进行匹配。import re
a = """sdfkhellolsdlfsdfiooefo:
877898989worldafdsf"""
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 ['lsdlfsdfiooefo:\n877898989']
这个问题一般出现在希望使用句点(.)来匹配任意字符,但是忘记了句点并不能匹配换行符时:
import re
comment = re.compile(r'/\*(.*?)\*/') # 匹配C的注释
text1 = '/* this is a comment */'
text2 = """/*this is a multiline comment */"""comment.findall(text1)
Out[4]: [' this is a comment ']comment.findall(text2) # 由于text2文本换行了,没匹配到
Out[5]: []
解决方法1:添加对换行符的支持,(?:.|\n)
指定了一个非捕获组(即,这个组只做匹配但不捕获结果,也不会分配组号)
comment = re.compile(r'\*((?:.|\n)*?)\*/')
comment.findall(text2)
Out[7]: ['this is a \n multiline comment ']
解决方法2:re.compile()函数可接受一个有用的标记--re.DOTALL。这使得正则表达式中的句点(.)可以匹配所有的字符,也包括换行符
comment = re.compile(r'/\*(.*?)\*/', flags=re.DOTALL)
comment.findall(text2)
Out[10]: ['this is a \n multiline comment ']
re.DOTALL --编写多行模式的正则表达式相关推荐
- python工具是什么-使用Python编写命令行工具有什么好的库?
使用Python编写命令行工具的库很多,我最推荐的还是Google Fire Hello World 要介绍Fire是什么,看一个简单的例子就明白了 # calc.py import fire cla ...
- (转)php-cli模式学习(PHP命令行模式)
php-cli模式学习(PHP命令行模式) 之前知道php-cli模式是一种类似shell命令式的执行php程序,不过一直以为这个是一种落后的方式,应该没有什么意义,因为从没有遇到过使用这个cli模式 ...
- Windos下用setx.exe命令行模式下永久设置系统环境变量
From: http://www.cnblogs.com/soli/archive/2007/08/30/876283.html setx.exe不是系统默认自带的命令,但可以从微软的网站(2K,XP ...
- go编写命令行工具_编写者的命令行文档转换工具
go编写命令行工具 今天,我们有足够的工具可用于在我们的计算机上编辑备忘录,信件,论文,书籍,演示幻灯片和其他文档. 这既有好处也有缺点:一方面,如果您不喜欢某个软件,则可以随时随地转到另一个软件上: ...
- php mysql 命令行模式_PHP 的命令行模式
从版本 4.3.0 开始,PHP 提供了一种新类型的 SAPI(Server Application Programming Interface,服务端应用编程端口)支持,名为 CLI,意为 Comm ...
- PHP 命令行模式实战之cli+mysql 模拟队列批量发送邮件(在Linux环境下PHP 异步执行脚本发送事件通知消息实际案例)...
源码地址:https://github.com/Tinywan/PHP_Experience 测试环境配置: 环境:Windows 7系统 .PHP7.0.Apache服务器 PHP框架:ThinkP ...
- Windos下用setx.exe命令行模式下永久设置系统环境变量(转)
setx.exe不是系统默认自带的命令,但可以从微软的网站(2K ,XP )上下载到,是官方的咚咚,所以可以放心使用.这里 是我从2K 里的安装文件中抽取出来的exe文件,不想安装又信得过我的话可以下 ...
- PHP 的命令行模式
被安全模式限制或屏蔽的函数Built-in web server 特点 在线手册:中文 英文PHP手册 PHP 的命令行模式 Table of Contents Built-in web server ...
- oracle cmd导出数据库命令行,oracle 中数据库完全导入导出:cmd命令行模式(转载)...
Oracle数据导入导出imp/exp就相当于oracle数据还原与备份.exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中. 利 ...
最新文章
- SQL_由创建表引出
- 【拔刀吧少年】之sed编辑器
- 作者:宋长青,山东农业大学教授,农业大数据研究中心常务副主任。
- JAR包命令解压以及再命令打包
- 简述java的异常处理机制_简述java异常处理机制
- mysql plus baomidou_com.baomidou.mybatisplus.core.mapper 不存在
- 关于Dll、Com组件、托管dll和非托管dll的理解
- python编程入门教程下载-《Python编程从入门到精通》PDF高清完整版-PDF下载
- nginx日志采集 mysql_shell + go + mysql nginx日志统计 (三) :数据的展示
- 超级列表框排序mysql_超级列表框排序
- 猎豹网校 ASP.NET全套教程
- 互联网日报 | 前11月全国网购超10万亿元;B站8月月活首次突破2亿;华为Mate40标准版开启预售...
- 谈谈我对面向对象的理解
- 深入浅出MFC:Windows程序的生与死
- html点击切换图片代码简易,html点击按钮时切换图片的代码是什么?
- 微信小说小程序源码-附带采集
- 根据北上资金操作上证50指数基金
- python的turtle画小人_利用Python如何画一颗心、小人发射爱心
- beautifulsoup html内容_用python3教你任意Html主内容提取
- ORACLE-023:令人烦恼的 ora-01722 无效数字
热门文章
- 巫师3狂猎游戏风景Mac动态壁纸
- macOS Big Sur11.2发布候选版更新:修复蓝牙和显示连接问题
- 合成未来宝宝照片_[萌主争霸]2020年台历宝宝投票评选开始啦!快来给你喜欢的萌宝投票吧~...
- 洛谷 数论入门相关题目--2022.01.22
- 1.6 编程基础之一维数组 05 年龄与疾病 python
- js检测密码强度的功能实现逻辑思路及实例
- settimeout需要清除吗_前端20个真正灵魂拷问,前端初级到中级你还需要这个!
- Python | Socket02 - 使用with语句建立一个TCP服务器(阻塞+单线程),将TCP客户端发过来的字符串原路返回
- centos7远程桌面端口_CentOS7启用远程桌面连接
- Linux笔记-bash中执行命令并将执行的命令结果存储为变量