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 相关文章推荐
简单的Python2.7编程初学经验总结
Apr 01 Python
详解Python中的循环语句的用法
Apr 09 Python
Python实现扫描局域网活动ip(扫描在线电脑)
Apr 28 Python
深入解析Python中的上下文管理器
Jun 28 Python
Python实现八大排序算法
Aug 13 Python
python技能之数据导出excel的实例代码
Aug 11 Python
Python双向循环链表实现方法分析
Jul 30 Python
python opencv 读取本地视频文件 修改ffmpeg的方法
Jan 26 Python
简单了解Python3里的一些新特性
Jul 13 Python
python爬虫模拟浏览器访问-User-Agent过程解析
Dec 28 Python
python tkinter之顶层菜单、弹出菜单实例
Mar 04 Python
python自定义函数def的应用详解
Jun 03 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获取http请求的头信息实现步骤
2012/12/16 PHP
PHP实现微信商户支付企业付款到零钱功能
2018/09/30 PHP
在laravel框架中使用model层的方法
2019/10/08 PHP
jquery异步循环获取功能实现代码
2010/09/19 Javascript
JS运行耗时操作的延时显示方法
2010/11/19 Javascript
基于KMP算法JavaScript的实现方法分析
2013/05/03 Javascript
javascript 上下banner替换具体实现
2013/11/14 Javascript
JS使用replace()方法和正则表达式进行字符串的搜索与替换实例
2014/04/10 Javascript
javascript中的Base64、UTF8编码与解码详解
2015/03/18 Javascript
基于jQuery实现页面搜索功能
2020/03/26 Javascript
浅谈JS运算符&amp;&amp;和|| 及其优先级
2016/08/10 Javascript
vue2的todolist入门小项目的详细解析
2017/05/11 Javascript
vue.js分页中单击页码更换页面内容的方法(配合spring springmvc)
2018/02/10 Javascript
vue.js打包之后可能会遇到的坑!
2018/06/03 Javascript
NodeJS服务器实现gzip压缩的示例代码
2018/10/12 NodeJs
浅谈ng-zorro使用心得
2018/12/03 Javascript
关于vue组件事件属性穿透详解
2019/10/28 Javascript
JavaScript数组常用的增删改查与其他属性详解
2020/10/13 Javascript
[00:57]林俊杰助阵DOTA2亚洲邀请赛
2015/01/28 DOTA
Python利用字典将两个通讯录文本合并为一个文本实例
2018/01/16 Python
python利用socketserver实现并发套接字功能
2018/01/26 Python
python简单商城购物车实例代码
2018/03/15 Python
Python如何爬取实时变化的WebSocket数据的方法
2019/03/09 Python
python之PyQt按钮右键菜单功能的实现代码
2019/08/17 Python
简单瞅瞅Python vars()内置函数的实现
2019/09/27 Python
python 实现检验33品种数据是否是正态分布
2019/12/09 Python
ubuntu 安装pyqt5和卸载pyQt5的方法
2020/03/24 Python
Django media static外部访问Django中的图片设置教程
2020/04/07 Python
python将数据插入数据库的代码分享
2020/08/16 Python
Python importlib模块重载使用方法详解
2020/10/13 Python
Django-silk性能测试工具安装及使用解析
2020/11/28 Python
简述数据库的设计过程
2015/06/22 面试题
英语自荐信常用语句
2013/12/13 职场文书
七一党日活动总结
2014/07/08 职场文书
详解PHP用mb_string处理windows中文字符
2021/05/26 PHP
怎么禁用Windows 11快照布局? win11不使用快照布局的技巧
2021/11/21 数码科技