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 相关文章推荐
Python3基础之基本运算符概述
Aug 13 Python
python3抓取中文网页的方法
Jul 28 Python
Python实现的redis分布式锁功能示例
May 29 Python
3个用于数据科学的顶级Python库
Sep 29 Python
对python3中, print横向输出的方法详解
Jan 28 Python
python与C、C++混编的四种方式(小结)
Jul 15 Python
python 同时读取多个文件的例子
Jul 16 Python
基于python计算并显示日间、星期客流高峰
May 07 Python
PyTorch的torch.cat用法
Jun 28 Python
python实现canny边缘检测
Sep 14 Python
python 定义函数 返回值只取其中一个的实现
May 21 Python
Python 的 sum() Pythonic 的求和方法详细
Oct 16 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/01/11 PHP
php 批量替换程序的具体实现代码
2013/10/04 PHP
Symfony的安装和配置方法
2016/03/17 PHP
PHP异常处理定义与使用方法分析
2017/07/25 PHP
jquery $.ajax各个事件执行顺序
2010/10/15 Javascript
jQuery动画效果-fadeIn fadeOut淡入浅出示例代码
2013/08/28 Javascript
jQuery使用ajaxSubmit()提交表单示例
2014/04/04 Javascript
jQuery打印指定区域Html页面并自动分页
2014/07/04 Javascript
jQuery 3.0 的 setter和getter 模式详解
2016/07/11 Javascript
js实现非常棒的弹出div
2016/10/06 Javascript
jQuery实现用户输入自动完成功能
2017/02/13 Javascript
详解nodeJS之路径PATH模块
2017/05/31 NodeJs
详解从Vue.js源码看异步更新DOM策略及nextTick
2017/10/11 Javascript
JS常用的几种数组遍历方式以及性能分析对比实例详解
2018/04/11 Javascript
webpack项目轻松混用css module的方法
2018/06/12 Javascript
原生JS实现前端本地文件上传
2018/09/08 Javascript
[02:44]完美大师赛主赛事淘汰赛第二日观众采访
2017/11/24 DOTA
在Python中用has_key()方法查找键是否存在的教程
2015/05/21 Python
python实现在控制台输入密码不显示的方法
2015/07/02 Python
Python计算斗牛游戏概率算法实例分析
2017/09/26 Python
Python实现将doc转化pdf格式文档的方法
2018/01/19 Python
对Python信号处理模块signal详解
2019/01/09 Python
详解python-图像处理(映射变换)
2019/03/22 Python
使用pyhon绘图比较两个手机屏幕大小(实例代码)
2020/01/03 Python
在python中利用dict转json按输入顺序输出内容方式
2020/02/27 Python
matplotlib制作雷达图报错ValueError的实现
2021/01/05 Python
python上下文管理的使用场景实例讲解
2021/03/03 Python
HTML5 Canvas 绘图——使用 Canvas 绘制图形图文教程 使用html5 canvas 绘制精美的图
2015/08/31 HTML / CSS
Perricone MD裴礼康美国官网:抗衰老护肤品
2016/09/26 全球购物
秋季运动会加油稿200字
2014/01/11 职场文书
《花木兰》教学反思
2014/04/09 职场文书
部门群众路线教育实践活动对照检查材料思想汇报
2014/10/07 职场文书
张思德观后感
2015/06/09 职场文书
2016高考寄语集锦
2015/12/04 职场文书
解决Vue+SpringBoot+Shiro跨域问题
2021/06/09 Vue.js
联想win10摄像头打不开怎么办?win10笔记本摄像头打不开解决办法
2022/04/08 数码科技