在python中使用正则表达式(三)
2023-09-11 14:21:25 时间
这里主要说一下贪婪匹配和非贪婪匹配
贪婪匹配:匹配尽可能多的字符; 非贪婪匹配:匹配尽可能少的字符
python的正则匹配默认是贪婪匹配
例子:
>>> re.match(r'^(\w+)(\d*)$','abc123').groups()
('abc123', '')
>>> re.match(r'^(\w+?)(\d*)$','abc123').groups()
('abc', '123')
表达式1:
\w+表示匹配字母或数字或下划线或汉字并重复1次或更多次;\d*表示匹配数字并重复0次或更多次。
分组1中(\w)是贪婪匹配,它会在满足分组2(\d*)的情况下匹配尽可能多的字符(有点拗口),
因为分组2(\d*)匹配0个数字也满足,所以分组1就把所有字符全部匹配掉了,分组2只能匹配空了。
表达式2:在表达式后加个?即可进行非贪婪匹配,如上面的(\w+?),
因为分组1进行非贪婪匹配,也就是满足分组2匹配的情况下,分组1尽可能少的匹配,
这样的话,上面分组2(\d*)会把所有数字(123)都匹配,所以分组1匹配到(abc)
相关文章
- Python中的正则表达式
- Python+NumPy绘制常见曲线的方法详解_python
- Python实现FTP服务器和客户端
- 人生苦短,我用Python!为什么现在越来越多的人转行python?
- python强大之处在哪里?为什么那么多人喜欢Python?
- Python正则表达式中的re模块学习笔记
- Python字典(dict)的操作方法汇总(约18种操作方法),并附示例代码
- 141 python网络编程 - UDP介绍
- 137 python高级 - 正则表达式(re模块的高级用法)
- 05 python - 标示符和关键字
- gyp ERR! stack Error: Can‘t find Python executable “python“, you can set the PYTHON env variable.
- Python 多继承
- 【Python】【PyPI】twine模块打包python项目上传pypi
- python正则表达式应用 去掉标点符号
- Python 教程之如何使用 matplotlib 在 python 中绘制数学函数
- 最小二乘法 及 梯度下降法 运行结果对比(Python版)
- 【Python分布式服务框架】python实现gRPC服务
- Python 进阶 之 递归获取指定文件夹下所有指定后缀名文件,并且正则表达式re修改所有文件指定内容
- Python 常见问题 之 python 安装包下载安装速度慢 的 快速解决方法(之一)
- python五十七课——正则表达式(多个字符)
- 在python中使用正则表达式(一)
- 【Python养成】:正则表达式测试案例 —— 1
- [Python]python+yaml三行代码完成配置文件灵活读取与warning:YAMLLoadWarning处理
- python调用java加密jar包并带参数,获取返回值