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写的一个简单监控系统
Jun 19 Python
详谈pandas中agg函数和apply函数的区别
Apr 20 Python
NumPy.npy与pandas DataFrame的实例讲解
Jul 09 Python
pandas求两个表格不相交的集合方法
Dec 08 Python
Python3.6.2调用ffmpeg的方法
Jan 10 Python
如何用Python做一个微信机器人自动拉群
Jul 03 Python
浅谈python图片处理Image和skimage的区别
Aug 04 Python
Python获取时间范围内日期列表和周列表的函数
Aug 05 Python
Python标准库:内置函数max(iterable, *[, key, default])说明
Apr 25 Python
Python+unittest+DDT实现数据驱动测试
Nov 30 Python
Python并发编程实例教程之线程的玩法
Jun 20 Python
Python之基础函数案例详解
Aug 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生成Flash动画的实现代码
2010/03/12 PHP
PHP引用的调用方法分析
2016/04/25 PHP
PHP类的特性实例分析
2016/09/28 PHP
浅谈php中变量的数据类型判断函数
2017/03/04 PHP
再谈querySelector和querySelectorAll的区别与联系
2012/04/20 Javascript
js操作输入框提示信息且响应鼠标事件
2014/03/25 Javascript
使用node.js 获取客户端信息代码分享
2014/11/26 Javascript
jQuery中click事件用法实例
2014/12/26 Javascript
JS实现5秒钟自动封锁div层的方法
2015/02/20 Javascript
浅析BootStrap模态框的使用(经典)
2016/04/29 Javascript
AngularJS包括详解及示例代码
2016/08/17 Javascript
BootStrap中关于Select下拉框选择触发事件及扩展
2016/11/22 Javascript
javascript十六进制数字和ASCII字符之间的转换方法
2016/12/27 Javascript
JS实现侧边栏鼠标经过弹出框+缓冲效果
2017/03/29 Javascript
ES6中字符串的使用方法扩展
2019/06/04 Javascript
关于Vue中axios的封装实例详解
2019/10/20 Javascript
[46:16]2018DOTA2亚洲邀请赛3月30日 小组赛B组 iG VS VP
2018/03/31 DOTA
Python中的super()方法使用简介
2015/08/14 Python
Python实现识别手写数字大纲
2018/01/29 Python
Python paramiko模块的使用示例
2018/04/11 Python
Python实现决策树C4.5算法的示例
2018/05/30 Python
浅谈python3中input输入的使用
2019/08/02 Python
Python装饰器原理与基本用法分析
2020/01/07 Python
python 实现将Numpy数组保存为图像
2020/01/09 Python
Python基于类路径字符串获取静态属性
2020/03/12 Python
Python数组拼接np.concatenate实现过程
2020/04/18 Python
matplotlib实现数据实时刷新的示例代码
2021/01/05 Python
Fox Racing官方网站:越野摩托车和山地自行车装备和服装
2019/12/23 全球购物
班组长安全生产职责
2013/12/16 职场文书
医院实习接收函
2014/01/12 职场文书
市场专员岗位职责
2014/02/14 职场文书
车间机修工岗位职责
2014/02/28 职场文书
授权委托书(公民个人适用)
2014/09/19 职场文书
单位介绍信格式
2015/01/31 职场文书
导游词之唐山景点
2019/12/18 职场文书
springboot为异步任务规划自定义线程池的实现
2022/06/14 Java/Android