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加pyGame实现的简单拼图游戏实例
May 15 Python
在Python的Django框架中更新数据库数据的方法
Jul 17 Python
浅谈编码,解码,乱码的问题
Dec 30 Python
Python SQLite3数据库日期与时间常见函数用法分析
Aug 14 Python
在Python中字典根据多项规则排序的方法
Jan 21 Python
python opencv 二值化 计算白色像素点的实例
Jul 03 Python
python通过robert、sobel、Laplace算子实现图像边缘提取详解
Aug 21 Python
Python3 Click模块的使用方法详解
Feb 12 Python
django实现将后台model对象转换成json对象并传递给前端jquery
Mar 16 Python
Tensorflow tensor 数学运算和逻辑运算方式
Jun 30 Python
Python tempfile模块生成临时文件和临时目录
Sep 30 Python
python代数式括号有效性检验示例代码
Oct 04 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
phpmyadmin操作流程
2006/10/09 PHP
phpmail类发送邮件函数代码
2012/02/20 PHP
php简单开启gzip压缩方法(zlib.output_compression)
2013/04/13 PHP
php设计模式之单例、多例设计模式的应用分析
2013/06/30 PHP
Javascript与flash交互通信基础教程
2008/08/07 Javascript
javascript学习基础笔记之DOM对象操作
2011/11/03 Javascript
深入分析js中的constructor和prototype
2012/04/07 Javascript
javascript 图片裁剪技巧解读
2012/11/15 Javascript
如何使用jQUery获取选中radio对应的值(一句代码)
2013/06/03 Javascript
JavaScript通过join函数连接数组里所有元素的方法
2015/03/20 Javascript
jquery带有索引按钮且自动轮播切换特效代码分享
2015/09/15 Javascript
JS针对浏览器窗口关闭事件的监听方法集锦
2016/06/24 Javascript
js实现带简单弹性运动的导航条
2017/02/22 Javascript
微信小程序手势操作之单触摸点与多触摸点
2017/03/10 Javascript
小程序实现左滑删除效果
2019/07/25 Javascript
使用原生JS实现滚轮翻页效果的示例代码
2020/05/31 Javascript
vue绑定class的三种方法
2020/12/24 Vue.js
python开启摄像头以及深度学习实现目标检测方法
2018/08/03 Python
python3 拼接字符串的7种方法
2018/09/12 Python
Python中的字符串切片(截取字符串)的详解
2019/05/15 Python
python requests库爬取豆瓣电视剧数据并保存到本地详解
2019/08/10 Python
离线状态下在jupyter notebook中使用plotly实例
2020/04/24 Python
详解tensorflow之过拟合问题实战
2020/11/01 Python
纯CSS打造(无图像无js)的非常流行的讲话(语音)气泡效果
2012/12/28 HTML / CSS
Html5画布_动力节点Java学院整理
2017/07/13 HTML / CSS
【HTML5】3D模型--百行代码实现旋转立体魔方实例
2016/12/16 HTML / CSS
世界上最大的餐具公司:Oneida
2016/12/17 全球购物
Parfumdreams英国:香水和化妆品
2019/05/10 全球购物
SmartBuyGlasses比利时:购买品牌太阳镜和眼镜
2019/08/09 全球购物
德国游戏机商店:Konsolenkost
2019/12/08 全球购物
国家励志奖学金获奖感言
2014/01/09 职场文书
计算机专业职业规划
2014/02/28 职场文书
职业女性的职业规划
2014/03/04 职场文书
优秀毕业生推荐信范文
2014/03/07 职场文书
Nginx已编译的nginx-添加新模块
2021/04/01 Servers
如何使用JavaScript策略模式校验表单
2021/04/29 Javascript