python正则表达式中的括号匹配问题


Posted in Python onDecember 14, 2014

问题:

m = re.findall('[0-9]*4[0-9]*', '[4]')
可以匹配到4.
m = re.findall('([0-9])*4([0-9])*', '[4]')
匹配不到4.
这是为什么呢?PS,这个是一个简化的说明,我要用的正则比这个复杂,所以要用到(),表示一个序列的匹配。
补充一点,我放在notepad++中用的时候,两种写法都能匹配出来,不知道为什么python中就不行了。

答案:

python的正则中用()会进行匹配,所以返回结果是['',''],就是两个()中的匹配。要想达到原来的匹配效果,就是把4匹配出来,有两种解决方法:

1.最外层加个大括号,变成:m = re.findall('(([0-9])*4([0-9])*)', '[4]'),返回结果的第一个元素就是匹配结果了。
2.去除()的匹配结果返回,在括号前面加入?:,变成m = re.findall('(?:\d)*4(?:\d)*', '[4]'),返回结果就是要匹配的结果了。

Python 相关文章推荐
在Python中处理字符串之isdecimal()方法的使用
May 20 Python
简单谈谈python的反射机制
Jun 28 Python
Python字符串处理实例详解
May 18 Python
Python实现的字典值比较功能示例
Jan 08 Python
python导出hive数据表的schema实例代码
Jan 22 Python
解决安装tensorflow遇到无法卸载numpy 1.8.0rc1的问题
Jun 13 Python
Python实现将通信达.day文件读取为DataFrame
Dec 22 Python
详解Python安装tesserocr遇到的各种问题及解决办法
Mar 07 Python
python中时间、日期、时间戳的转换的实现方法
Jul 06 Python
python中resample函数实现重采样和降采样代码
Feb 25 Python
浅析Python 抽象工厂模式的优缺点
Jul 13 Python
使用BeautifulSoup4解析XML的方法小结
Dec 07 Python
python的类方法和静态方法
Dec 13 #Python
Python计算程序运行时间的方法
Dec 13 #Python
Python编程中的反模式实例分析
Dec 08 #Python
Python实现拼接多张图片的方法
Dec 01 #Python
python字符串替换的2种方法
Nov 30 #Python
Python中3种内建数据结构:列表、元组和字典
Nov 30 #Python
Python函数中定义参数的四种方式
Nov 30 #Python
You might like
《OVERLORD》手游英文版即将上线 手机上也能扮演骨王
2020/04/09 日漫
PHP音乐采集(部分代码)
2007/02/14 PHP
php常用的安全过滤函数集锦
2014/10/09 PHP
Yii框架登录流程分析
2014/12/03 PHP
javascript 日期常用的方法
2009/11/11 Javascript
JS组件Bootstrap Table使用方法详解
2016/02/02 Javascript
Jquery Easyui搜索框组件SearchBox使用详解(19)
2016/12/17 Javascript
jquery dataTable 获取某行数据
2017/05/05 jQuery
详解vue mixins和extends的巧妙用法
2017/12/20 Javascript
使用Angular-CLI构建NPM包的方法
2018/09/07 Javascript
layui多iframe页面控制定时器运行的方法
2019/09/05 Javascript
详解vue中多个有顺序要求的异步操作处理
2019/10/29 Javascript
小程序自定义圆形进度条
2020/11/17 Javascript
[05:31]DOTA2英雄梦之声_第08期_莉娜
2014/06/23 DOTA
[01:04:05]Mineski vs TNC 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
用python实现的去除win下文本文件头部BOM的代码
2013/02/10 Python
简单文件操作python 修改文件指定行的方法
2013/05/15 Python
好用的Python编辑器WingIDE的使用经验总结
2016/08/31 Python
Python基于Pymssql模块实现连接SQL Server数据库的方法详解
2017/07/20 Python
python实现数独游戏 java简单实现数独游戏
2018/03/30 Python
python实现可变变量名方法详解
2019/07/01 Python
docker django无法访问redis容器的解决方法
2019/08/21 Python
python程序 创建多线程过程详解
2019/09/23 Python
python中sklearn的pipeline模块实例详解
2020/05/21 Python
PyQT5速成教程之Qt Designer介绍与入门
2020/11/02 Python
细说NumPy数组的四种乘法的使用
2020/12/18 Python
外语专业毕业生自我评价分享
2013/10/05 职场文书
小学教师培训感言
2014/02/11 职场文书
祖国在我心中演讲稿600字
2014/05/04 职场文书
最美家庭活动方案
2014/08/31 职场文书
中学生社区服务活动报告
2015/02/05 职场文书
nginx实现发布静态资源的方法
2021/03/31 Servers
六种css3实现的边框过渡效果
2021/04/22 HTML / CSS
springboot layui hutool Excel导入的实现
2022/03/31 Java/Android
html中相对位置与绝对位置的具体使用
2022/05/15 HTML / CSS
JavaScript前端面试组合函数
2022/06/21 Javascript