Python正则捕获操作示例


Posted in Python onAugust 19, 2017

本文实例讲述了Python正则捕获操作。分享给大家供大家参考,具体如下:

目的: 给表达式 '10+6/5-4*2' 中每个运算符左右都加一个空格字符,变成:'10 + 6 / 5 - 4 * 2'

思路: 分组、捕获、替换

1. 替换字符中含参数 \1 (此处不能叫参数,想不到叫什么,那就不管它~~)

>>> bds = '10+6/5-4*2' # 表达式
>>> m = re.sub(r'([*+-/])', ' \1 ', bds) # 注意\1左右皆有一个空格!!
>>> m
 '10 + 6 / 5 - 4 * 2'

2. 替换字符中含参数 \g<1>

>>> bds = '10+6/5-4*2' # 表达式
>>> m = re.sub(r'([*+-/])', ' \g<1> ', bds)
>>> m
 '10 + 6 / 5 - 4 * 2'

3. 模式中也可含参数 \1

>>> greed = "Hello Jack! Are you OK, Jack?"
>>> m = re.sub(r"Hello (\w+)! Are you OK, \1?", "\g<1>", greed)
>>> m
"Hello Jack! Are you OK, Jack?"

4. 模式中也可含参数 :命名组 (?P=yourname)

>>> greed = "Hello Jack! Are you OK, Jack?"
>>> m = re.sub(r"Hello (?P<yourname>\w+)! Are you OK, (?P=yourname)?", "\g<yourname>", greed)
>>> m
"Hello Jack! Are you OK, Jack?"
Python 相关文章推荐
python基础教程之udp端口扫描
Feb 10 Python
Python字典,函数,全局变量代码解析
Dec 18 Python
对python list 遍历删除的正确方法详解
Jun 29 Python
详解Python3序列赋值、序列解包
May 14 Python
python实现在cmd窗口显示彩色文字
Jun 24 Python
Python中__repr__和__str__区别详解
Nov 07 Python
python3反转字符串的3种方法(小结)
Nov 07 Python
Keras中的多分类损失函数用法categorical_crossentropy
Jun 11 Python
python与pycharm有何区别
Jul 01 Python
如何教少儿学习Python编程
Jul 10 Python
Python实现加密的RAR文件解压的方法(密码已知)
Sep 11 Python
如何使用python包中的sched事件调度器
Apr 30 Python
python 删除大文件中的某一行(最有效率的方法)
Aug 19 #Python
在java中如何定义一个抽象属性示例详解
Aug 18 #Python
python中将函数赋值给变量时需要注意的一些问题
Aug 18 #Python
python中子类调用父类函数的方法示例
Aug 18 #Python
Python设计实现的计算器功能完整实例
Aug 18 #Python
python中类和实例如何绑定属性与方法示例详解
Aug 18 #Python
Python实现基于多线程、多用户的FTP服务器与客户端功能完整实例
Aug 18 #Python
You might like
基于PHP常用函数的用法详解
2013/05/10 PHP
解析php中获取系统信息的方法
2013/06/25 PHP
php常量详细解析
2015/10/27 PHP
使用PHP+MySql实现微信投票功能实例代码
2017/09/29 PHP
JavaScript Event学习补遗 addEventSimple
2010/02/11 Javascript
js中将URL中的参数提取出来作为对象的实现代码
2011/08/16 Javascript
jQuery LigerUI 使用教程入门篇
2012/01/18 Javascript
js图片自动切换效果处理代码
2013/05/07 Javascript
基于jQuery 实现bootstrapValidator下的全局验证
2015/12/07 Javascript
使用BootStrap实现标签切换原理解析
2017/03/14 Javascript
Node.js如何使用Diffie-Hellman密钥交换算法详解
2017/09/05 Javascript
详解如何在你的Vue项目配置vux
2018/06/04 Javascript
JS面试题大坑之隐式类型转换实例代码
2018/10/14 Javascript
解决vuex数据异步造成初始化的时候没值报错问题
2019/11/13 Javascript
Vue 实现登录界面验证码功能
2020/01/03 Javascript
基于脚手架创建Vue项目实现步骤详解
2020/08/03 Javascript
JavaScript实现音乐导航效果
2020/11/19 Javascript
详解JavaScript编程中的window与window.screen对象
2015/10/26 Python
python开发之基于thread线程搜索本地文件的方法
2015/11/11 Python
Python树莓派学习笔记之UDP传输视频帧操作详解
2019/11/15 Python
flask框架渲染Jinja模板与传入模板变量操作详解
2020/01/25 Python
python GUI模拟实现计算器
2020/06/22 Python
Python实现上下文管理器的方法
2020/08/07 Python
ubuntu16.04升级Python3.5到Python3.7的方法步骤
2020/08/20 Python
python3从网络摄像机解析mjpeg http流的示例
2020/11/13 Python
Python 调用C++封装的进一步探索交流
2021/03/04 Python
Html5 canvas画图白板踩坑
2020/06/01 HTML / CSS
党课培训主持词
2014/04/01 职场文书
给校长的建议书600字
2014/05/15 职场文书
奥林匹克运动会口号
2014/06/19 职场文书
优秀教师个人材料
2014/12/15 职场文书
2015年爱牙日活动总结
2015/02/05 职场文书
银行稽核岗位职责
2015/04/13 职场文书
英语投诉信范文
2015/07/03 职场文书
Pytorch 如何加速Dataloader提升数据读取速度
2021/05/28 Python
关于JavaScript轮播图的实现
2021/11/20 Javascript