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中字符编码简介、方法及使用建议
Jan 08 Python
Python中atexit模块的基本使用示例
Jul 08 Python
浅谈Python 的枚举 Enum
Jun 12 Python
解决python3中解压zip文件是文件名乱码的问题
Mar 22 Python
详解Python3.6安装psutil模块和功能简介
May 30 Python
Python简单爬虫导出CSV文件的实例讲解
Jul 06 Python
python and or用法详解
Jun 26 Python
使用python turtle画高达
Jan 19 Python
关于Keras模型可视化教程及关键问题的解决
Jan 24 Python
Python实现桌面翻译工具【新手必学】
Feb 12 Python
Python基于模块Paramiko实现SSHv2协议
Apr 28 Python
Python合并pdf文件的工具
Jul 01 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
新浪微博OAuth认证和储存的主要过程详解
2015/03/27 PHP
php实现微信公众平台账号自定义菜单类
2015/10/11 PHP
学习php设计模式 php实现工厂模式(factory)
2015/12/07 PHP
/etc/php-fpm.d/www.conf 配置注意事项
2017/02/04 PHP
IE 缓存策略的BUG的解决方法
2007/07/21 Javascript
深入理解JavaScript系列(2) 揭秘命名函数表达式
2012/01/15 Javascript
JS将秒换成时分秒实现代码
2013/09/03 Javascript
node.js中的fs.fchownSync方法使用说明
2014/12/16 Javascript
举例讲解JavaScript中关于对象操作的相关知识
2015/11/16 Javascript
JS中生成随机数的用法及相关函数
2016/01/09 Javascript
Javascript数组Array方法解读
2016/03/13 Javascript
JQuery Ajax WebService传递参数的简单实例
2016/11/02 Javascript
详解Html a标签中href和onclick用法、区别、优先级别
2017/01/16 Javascript
Vue框架中正确引入JS库的方法介绍
2017/07/30 Javascript
React Native使用Modal自定义分享界面的示例代码
2017/10/31 Javascript
Vue数据双向绑定原理及简单实现方法
2018/05/18 Javascript
jQuery实现鼠标移到某个对象时弹出显示层功能
2018/08/23 jQuery
微信小程序学习笔记之表单提交与PHP后台数据交互处理图文详解
2019/03/28 Javascript
JavaScript装箱及拆箱boxing及unBoxing用法解析
2020/06/15 Javascript
js实现表格单列按字母排序
2020/08/12 Javascript
浅谈vue在html中出现{{}}的原因及解决方式
2020/11/16 Javascript
centos6.4下python3.6.1安装教程
2017/07/21 Python
python的变量与赋值详细分析
2017/11/08 Python
python如何爬取网站数据并进行数据可视化
2019/07/08 Python
pycharm设置鼠标悬停查看方法设置
2019/07/29 Python
python3调用windows dos命令的例子
2019/08/14 Python
使用opencv将视频帧转成图片输出
2019/12/10 Python
详解python爬取弹幕与数据分析
2020/11/14 Python
canvas绘制表情包的示例代码
2018/07/09 HTML / CSS
如何设定的weblogic的热启动模式(开发模式)与产品发布模式
2012/09/08 面试题
J2EE中的容器都包括哪些
2013/08/21 面试题
经贸专业毕业生求职信
2014/03/23 职场文书
激励员工的口号
2014/06/16 职场文书
2015纪念九一八事变84周年演讲稿
2015/03/19 职场文书
学生会任命书范本
2015/09/21 职场文书
先进基层党组织事迹材料2016
2016/02/29 职场文书