【python cookbook】【字符串与文本】8.编写多行模式的正则表达式
2023-09-14 09:01:12 时间
问题:用正则表达式对一段文本块做匹配,但是希望在进行匹配时能够跨越多行
解决方案:
1、正则表达式添加对换行符的支持;
2、re.compile()函数一个有用的标记-re.DOTALL使得正则表达式中的句点(.)可以匹配所有的字符,也包括换行符;
如上问题一般出现在希望使用句点(.)来匹配任意字符,但是忘记了句点并不能匹配换行符时。例如,假设想匹配C语言风格的注释:
import re text = '''/* this is a ... multiline comment */ ...''' comment = re.compile(r'/\*(.*?)\*/') print(comment.findall(text)) comment2 = re.compile(r'/\*((?:.|\n)*?)\*/') #(?:.|\n)指定了一个非捕获组(即,这个组只做匹配但不捕获结果,也不会分配组号) print(comment2.findall(text)) comment_dotall=re.compile(r'/*(.*?)\*/',re.DOTALL) print (comment_dotall.findall(text))
>>> ================================ RESTART ================================ >>> [] [' this is a\n... multiline comment '] ['* this is a\n... multiline comment '] >>>
相关文章
- python编程前景_Python前景如何,学完后可以从事方向?
- python学习:pip常用方法
- 用python来开发webgame服务端(1)[通俗易懂]
- Python输入输出(IO)[通俗易懂]
- python监控网站更新_Python 通过网站search功能监控网站内容更新[通俗易懂]
- python生成器详解_Python 生成器
- python表情代码_Python实现表情包的代码实例[通俗易懂]
- python aiohttp_python aiohttp的使用详解
- centos 安装 python3_centos运行python脚本
- Python正则表达式_正则表达式有什么用
- 初识Python函数
- Python-3.12 性能分析特性
- Python基础语法-控制流程语句-while
- 网络工程师学Python-13-继承
- 网络工程师学Python-19-JSON
- Python dict字典详解
- python操作redis详解编程语言
- Python简易操作MySQL入门教程(python操作mysql)
- Linux下使用Python开发体验之旅(linux使用python)
- 使用 C 优化你的 Python 代码
- Python 开发者如何正确使用 RStudio 编辑器
- Python在连接MSSQL数据库中的应用(python连mssql)
- Python实例分享:快速查找出被挂马的文件
- Python正则表达式的使用范例详解