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 18 Python
Python 结巴分词实现关键词抽取分析
Oct 21 Python
使用python实现链表操作
Jan 26 Python
python实现寻找最长回文子序列的方法
Jun 02 Python
python实现下载pop3邮件保存到本地
Jun 19 Python
对python实时得到鼠标位置的示例讲解
Oct 14 Python
Python实现的字典排序操作示例【按键名key与键值value排序】
Dec 21 Python
详解Python进阶之切片的误区与高级用法
Dec 24 Python
Python3从零开始搭建一个语音对话机器人的实现
Aug 23 Python
Tensorflow: 从checkpoint文件中读取tensor方式
Feb 10 Python
Python 批量下载阴阳师网站壁纸
May 19 Python
python前后端自定义分页器
Apr 13 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实现快速排序的三种方法分享
2014/03/12 PHP
PHP错误WARNING: SESSION_START() [FUNCTION.SESSION-START]解决方法
2014/05/04 PHP
PHP 正则表达式小结
2015/02/12 PHP
PHP的mysqli_select_db()函数讲解
2019/01/23 PHP
基于jQuery的仿flash的广告轮播
2010/11/05 Javascript
基于jquery跨浏览器显示的file上传控件
2011/10/24 Javascript
javascript常见操作汇总
2014/09/03 Javascript
node.js中的fs.utimes方法使用说明
2014/12/15 Javascript
JavaScript函数参数使用带参数名的方式赋值传入的方法
2015/03/19 Javascript
理解Javascript文件动态加载
2016/01/29 Javascript
Nodejs 搭建简单的Web服务器详解及实例
2016/11/30 NodeJs
javascript ES6 新增了let命令使用介绍
2017/07/07 Javascript
JS实现求字符串中出现最多次数的字符和次数示例
2019/07/05 Javascript
js实现旋转木马轮播图效果
2020/01/10 Javascript
element-ui 实现响应式导航栏的示例代码
2020/05/08 Javascript
详解ES6新增字符串扩张方法includes()、startsWith()、endsWith()
2020/05/12 Javascript
介绍Python的Django框架中的静态资源管理器django-pipeline
2015/04/25 Python
Python中你应该知道的一些内置函数
2017/03/31 Python
Python安装模块的常见问题及解决方法
2018/02/05 Python
Python多进程multiprocessing.Pool类详解
2018/04/27 Python
对Python中for复合语句的使用示例讲解
2018/11/01 Python
Python设置matplotlib.plot的坐标轴刻度间隔以及刻度范围
2019/06/25 Python
Python的垃圾回收机制详解
2019/08/28 Python
python3将变量写入SQL语句的实现方式
2020/03/02 Python
django rest framework serializers序列化实例
2020/05/13 Python
pytorch __init__、forward与__call__的用法小结
2021/02/27 Python
Pure Collection美国官网:来自英国羊绒专家的奢华羊绒
2017/11/19 全球购物
一道Delphi上机题
2012/06/04 面试题
旺仔牛奶广告词
2014/03/20 职场文书
村委会换届选举方案
2014/05/03 职场文书
我有一个梦想演讲稿
2014/05/05 职场文书
幼儿园秋季开学通知
2015/07/16 职场文书
热爱劳动主题班会
2015/08/14 职场文书
导游词之昭君岛
2020/01/17 职场文书
Redis分布式锁的7种实现
2022/04/01 Redis
pycharm无法安装cv2模块问题
2022/05/20 Python