【python cookbook】【字符串与文本】7.定义实现最短匹配的正则表达式
2023-09-14 08:59:26 时间
问题:使用正则表达式对文本模式匹配,将识别出来的最长的可能匹配修改为找出最短的可能匹配
解决方法:在匹配模式中的*操作符后加上?修饰符
import re # Sample text text = 'Computer says "no." Phone says "yes."' # (a) Regex that finds quoted strings - longest match str_pat = re.compile(r'\"(.*)\"') print(str_pat.findall(text)) # (b) Regex that finds quoted strings - shortest match str_pat = re.compile(r'\"(.*?)\"') print(str_pat.findall(text))
>>> ================================ RESTART ================================ >>> ['no." Phone says "yes.'] ['no.', 'yes.'] >>>
(a)例子中被错误的匹配成2个被引号包围的字符串
补充:本节提到了一个当编写含有句点(.)字符的正则表达式时会遇到的问题。
在模式匹配中,句点除了换行符之外可匹配任意字符。
相关文章
- mt4 python_一个使用Python自动化交易外汇MT4脚本实现「建议收藏」
- python格式化转换_Python进制转换format格式化[通俗易懂]
- python生成器详解_Python 生成器
- 【说站】python ChainMap如何实现字典操作
- Python 正则表达式大全
- python读取pkl_Python读取文件的一段内容
- python及第三方库交叉编译
- Python:利用python代码编程实现将视频的avi格式转换为MP4格式
- python上的表白代码_用Python实现表白代码
- python里面的缩进是什么意思_Python缩进规则(一看即懂)[通俗易懂]
- Python海量数据的生成与处理
- python定义函数求和_Python定义函数实现累计求和操作
- 优雅地处理python异常
- Python正则表达式模块re
- SQLite3+logging+PyQt5+fuzzywuzzy 日志数据库高亮/等级筛选/模糊查询/时间范围筛选 | python
- Python 自动化指南(繁琐工作自动化)第二版:七、使用正则表达式的模式匹配
- Python/Shell 正则表达式与运用详解程序员
- PostgreSQL连接python,postgresql在python 连接,创建表,创建表内容,插入操作,选择操作,更新操作,删除操作。详解数据库
- MySQL与Python搭配,实现数据库操作。(mysql-python)
- Python结合MySQL实现信息交互(python与mysql交互)
- Python操作Redis实现数据持久化(python操作redis)
- Python实现快速连接Redis数据库(python连接redis)
- 使用Python连接MySQL数据库,实现高效数据交互(python连接mysql)
- 利用Neo4j和Python进行无缝图形数据库支持(neo4j python)
- Python脚本实现Linux命令快捷控制(python执行linux命令)