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使用nntp读取新闻组内容的方法
May 08 Python
python实现的希尔排序算法实例
Jul 01 Python
Python实现字符串匹配算法代码示例
Dec 05 Python
Python语言描述机器学习之Logistic回归算法
Dec 21 Python
Python实现base64编码的图片保存到本地功能示例
Jun 22 Python
python实现银联支付和支付宝支付接入
May 07 Python
python django中8000端口被占用的解决
Dec 17 Python
使用OpenCV circle函数图像上画圆的示例代码
Dec 27 Python
python 已知一个字符,在一个list中找出近似值或相似值实现模糊匹配
Feb 29 Python
Python实现将元组中的元素作为参数传入函数的操作
Jun 05 Python
python批量修改交换机密码的示例
Sep 22 Python
python爬虫判断招聘信息是否存在的实例代码
Nov 20 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
example2.php
2006/10/09 PHP
用PHP制作静态网站的模板框架(二)
2006/10/09 PHP
简单PHP上传图片、删除图片实现代码
2010/05/12 PHP
php数组编码转换示例详解
2014/03/11 PHP
深入解析PHP的Yii框架中的event事件机制
2016/03/17 PHP
PHP实现多关键字加亮功能
2016/10/21 PHP
thinkPHP5项目中实现QQ第三方登录功能
2017/10/20 PHP
laravel实现前后台路由分离的方法
2019/10/13 PHP
PHP的new static和new self的区别与使用
2019/11/27 PHP
javascript中callee与caller的用法和应用场景
2010/12/08 Javascript
jQuery EasyUI API 中文文档 - ValidateBox验证框
2011/10/06 Javascript
JavaScript实现QueryString获取GET参数的方法
2013/07/02 Javascript
IE下window.onresize 多次调用与死循环bug处理方法介绍
2013/11/12 Javascript
js数组的操作指南
2014/12/28 Javascript
jQuery插件Timelinr 实现时间轴特效
2015/10/04 Javascript
jquery插件格式实例分析
2016/06/16 Javascript
最新Javascript程序员面试试题和解题方法
2017/11/23 Javascript
axios进阶实践之利用最优雅的方式写ajax请求
2017/12/20 Javascript
详解webpack模块化管理和打包工具
2018/04/21 Javascript
Element Badge标记的使用方法
2020/07/27 Javascript
Python切片用法实例教程
2014/09/08 Python
Python多重继承的方法解析执行顺序实例分析
2018/05/26 Python
python 实现将txt文件多行合并为一行并将中间的空格去掉方法
2018/12/20 Python
在Python中使用Neo4j的方法
2019/03/14 Python
python实现QQ空间自动点赞功能
2019/04/09 Python
python并发编程 Process对象的其他属性方法join方法详解
2019/08/20 Python
Python编程快速上手——Excel表格创建乘法表案例分析
2020/02/28 Python
PyCharm设置Ipython交互环境和宏快捷键进行数据分析图文详解
2020/04/23 Python
python 引用传递和值传递详解(实参,形参)
2020/06/05 Python
安装不同版本的tensorflow与models方法实现
2021/02/20 Python
非凡女性奢华谦虚风格:The Modist
2017/10/28 全球购物
TCP协议通讯的过程和步骤是什么
2015/10/18 面试题
学习自我鉴定
2014/02/01 职场文书
班级学雷锋活动总结
2014/06/26 职场文书
党员群众路线对照检查材料思想汇报
2014/09/17 职场文书
Javascript使用integrity属性进行安全验证
2021/11/07 Javascript