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计算最小优先级队列代码分享
Dec 18 Python
使用Python抓取模板之家的CSS模板
Mar 16 Python
Python中利用sorted()函数排序的简单教程
Apr 27 Python
Python 文件处理注意事项总结
Apr 10 Python
Python生成数字图片代码分享
Oct 31 Python
详解Python中 sys.argv[]的用法简明解释
Dec 20 Python
pyspark.sql.DataFrame与pandas.DataFrame之间的相互转换实例
Aug 02 Python
对python添加模块路径的三种方法总结
Oct 16 Python
使用python socket分发大文件的实现方法
Jul 08 Python
Python实现TCP通信的示例代码
Sep 09 Python
PyTorch: Softmax多分类实战操作
Jul 07 Python
python中spy++的使用超详细教程
Jan 29 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
2020显卡排行榜天梯图 显卡天梯图2020年3月最新版
2020/04/02 数码科技
php 前一天或后一天的日期
2008/06/28 PHP
php str_pad() 将字符串填充成指定长度的字符串
2010/02/23 PHP
thinkphp3.2.2前后台公用类架构问题分析
2014/11/25 PHP
PHP基于MySQLI函数封装的数据库连接工具类【定义与用法】
2017/08/11 PHP
js中onload与onunload的使用示例
2013/08/25 Javascript
DWR中各种java方法的调用
2016/05/04 Javascript
基于Bootstrap实现图片轮播效果
2016/05/22 Javascript
javascript中toFixed()四舍五入使用方法详解
2018/09/28 Javascript
jQuery实现动态添加和删除input框实例代码
2019/03/26 jQuery
微信小程序实现音频文件播放进度的实例代码
2020/03/02 Javascript
基于JavaScript的数据结构队列动画实现示例解析
2020/08/06 Javascript
微信小程序使用前置摄像头拍照
2020/10/22 Javascript
[16:56]heroes英雄教学 司夜刺客
2014/09/18 DOTA
使用Python神器对付12306变态验证码
2016/01/05 Python
使用python实现tcp自动重连
2017/07/02 Python
Python 字符串与数字输出方法
2018/07/16 Python
使用pip发布Python程序的方法步骤
2018/10/11 Python
对python中数组的del,remove,pop区别详解
2018/11/07 Python
python实现windows壁纸定期更换功能
2019/01/21 Python
matplotlib基础绘图命令之errorbar的使用
2020/08/13 Python
css3.0 图形构成实例练习一
2013/03/19 HTML / CSS
CSS3实现文本垂直排列的方法
2018/07/10 HTML / CSS
有关HTML5 Video对象的ontimeupdate事件(Chrome上无效)的问题
2013/07/19 HTML / CSS
Sneaker Studio乌克兰:购买运动鞋
2018/03/26 全球购物
台湾7-ELEVEN线上购物中心:7-11
2021/01/21 全球购物
linux面试题参考答案(1)
2016/01/22 面试题
大学生个人简历中的自我评价
2013/12/27 职场文书
优秀志愿者事迹材料
2014/02/03 职场文书
群众路线党员自我评议范文2014
2014/09/24 职场文书
解除劳动合同协议书范本2014
2014/09/25 职场文书
2014年保卫部工作总结
2014/11/21 职场文书
爱心募捐通知范文
2015/04/27 职场文书
结婚十年感言
2015/07/31 职场文书
用 Python 定义 Schema 并生成 Parquet 文件详情
2021/09/25 Python
nginx实现动静分离的方法示例
2021/11/07 Servers