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文件从本地导入到远处的数据库服务器中. 利 ...
最新文章
- 如何使用SMOD和CMOD进行SD的用户增强
- Symfony2Book16:Symfony2内部02-内核
- Linux下Anaconda3安装及使用教程
- how to replace the note reuse project into my own one
- k近邻算法C++二维情况下的实现
- 优化算法笔记|飞蛾扑火优化算法理解及实现
- wince flash Android,关于wince下用C#实现flash播放器
- 什么是CMMI认证?
- MSN不显示头像怎么办?
- B站五面面经(附过程、答案)
- c语言long可以存几位数,long long 可以支持多少位的数?
- 简单的C语言顺序结构例题介绍
- wpf 语音通话_WPF+WCF一步一步打造音频聊天室(四):视频会话
- 显卡优化以提高计算机性能,《绝地求生》完美显卡优化教程:低配电脑也能吃鸡无压力!...
- JVM(2):垃圾收集器与gc
- android studio日志不打印,Mac 下 Android Studio 不打印日志的解决办法
- 微信小程序-个人中心/钱包
- 利用python画空间分布图
- 【好文转载】产品经理做产品设计的九步法
- games101 作业4
热门文章
- 摸鱼也要讲究方法:工作学习中玩手机并不能缓解无聊和疲劳
- 学生PHP校园超市网站制作 学生PHP网页毕设源码 学生动态数据库网站作品 PHP电子商务商城购物网站
- 提高篇 第一部分 基础算法 第4章 广搜的优化技巧
- 简单英文题 24 Divisor and Multiple(python)
- php通过使用curl获取http或者https的响应信息的方式
- 【C#桌面应用】第四节:制作简单的登录注册模拟窗口-登录部分的模拟
- c语言编程调试找不到路径,VScode 调试C/C++时出现无法打开“X”: 找不到文件(file:///XXXX) 的解决办法...
- tomcat 优化_浅谈Tomcat服务器优化方法
- Jenkins Gitee 实现持续集成CI/CD工具【免费、推荐】
- Qt文档阅读笔记-QLibrary基本概念及实例