位置: 编程技术 - 正文

Python 正则表达式的高级用法

编辑:rootadmin

推荐整理分享Python 正则表达式的高级用法,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

对于Python来说,学习正则就要学习模块re的使用方法。本文将展示一些大家都应该掌握的高级技巧。

编译正则对象

re.compile函数根据一个模式字符串和可选的标志参数生成一个正则表达式对象。该对象拥有一系列方法用于正则表达式匹配和替换。用法上略有区别,举个例子, 匹配一个字符串可用如下方式:

如果使用compile,将变成:

为什么要这么用呢?其实就是为了提高正则匹配的速度,重复利用正则表达式对象。我们对比一下2种方式的效率:

可以看到第二种方式要快很多。在实际的工作中你会发现越多的使用编译好的正则表达式对象,效果就越好。

分组(group)

你可能已经见过对匹配的内容进行分组的用法了:

通过对要匹配的对象添加括号,就可以精确的对应符合的结果了。我们还可以进行嵌套的分组:

分组可以满足需求,但是有时候可读性很差,那可以对分组进行命名:

现在可读性就非常高了。

字符串匹配

Python 正则表达式的高级用法

学过sed的同学可能见过如下替换用法:

这个1表示前面正则匹配到的结果。上面的sed也就是给匹配到的结果加上中括号。

在re模块中也存在这样的用法:

用命名分组也是可以的:

附近匹配(Look around)

re模块也支持附近匹配,看看例子就懂了:

正则匹配的时候使用函数

之前我们看到的大部分内容都是匹配的是一个表达式,但是有时候需求要复杂得多,尤其是在替换的时候。

举个例子,通过Slack的API能获取聊天记录,比如下面这句:

其中<@U1EAT8MG9>和<@U0K1MFZ>是2个真实的用户,但是被Slack封装了,需要通过其他接口获取这个对应关系,

其结果类似这样:

在解析对应关系之后,还希望吧尖括号也去掉,替换后的结果是「@xiaoming, @laolin 嗯 确实是这样的 」

用正则怎么实现呢?

所以pattern当然也可以是一个函数

Python常用库推荐 IPython+ptpython,完美体验首先是安装pipinstallipythonptpython然后使用ptipython有什么好处1.IPython是非常强大的Python增强工具2.ptpython提供了类似IDE的自动补全功

Python正则表达式使用范例分享 作为一个概念而言,正则表达式对于Python来说并不是独有的。但是,Python中的正则表达式在实际使用过程中还是有一些细小的差别。本文是一系列关于Py

python中redis的安装和使用 python下redis安装用python操作redis数据库,先下载redis-py模块下载地址

标签: Python 正则表达式的高级用法

本文链接地址:https://www.jiuchutong.com/biancheng/383416.html 转载请保留说明!

上一篇:简单谈谈Python流程控制语句(python流数据)

下一篇:Python常用库推荐(python常用的库)

  • 小规模纳税人在选择供应商时,主要考虑购进货物
  • 公司期权激励如何兑现
  • 福利费专票进项可以抵扣吗
  • 外销收入确认原则有哪些
  • 企业所得税申报表在哪里查询
  • 房屋租赁合同印花税谁交
  • 机器设备折旧计提规定
  • 收到投资款的会计
  • 增值税发票验证
  • 税务退税会计分录
  • 注销时留抵税额不能退怎么做分录
  • 教育费附加减免政策
  • 增值税清单模板样例导出
  • 销售额增加10%什么概念
  • 红冲增值税专用发票需要收回原发票吗
  • 三种类型的同期资料文档准备时间和提交税务机关时限有什么要求?
  • 股东贷款企业贷债务
  • 销售退回怎么开票
  • 公司向外单位借款摘要怎么写
  • 消防安装工程会计核算
  • 收入冲正
  • 进项发票认证抵扣会计分录
  • 增值税税差调整原因
  • 向境外分配股息怎样算税额
  • 事业单位零余额账户使用流程
  • 购买员工宿舍床上用品怎么入账
  • 生产用厂房计入什么科目
  • php数组的类型有哪些
  • PHP:mcrypt_enc_is_block_algorithm_mode()的用法_Mcrypt函数
  • php true
  • 金融企业会计第三版课后答案孟艳琼
  • 计算利润要扣除企业所得税吗
  • 一般纳税人企业所得税如何计算
  • 小程序uniapp怎么用
  • php调用变量的符号
  • 个体工商户的酒店增值税率是多少
  • php windows
  • 软件企业高新技术产品证明材料
  • 产权转移书据是什么印花税
  • 可供出售金融资产是流动资产吗
  • 什么是零申报,长期零申报有什么风险
  • 哪些税费可以抵扣
  • 电子承兑接收了,但是后来怎么没有了
  • 循环表是线性表吗
  • 织梦cms可以商用吗
  • python filter dict
  • 环保税的纳税义务人是施工方还是建设方安徽
  • 开具红字增值税专用发票信息表在哪
  • 进项税额转出是什么科目
  • 清算中的企业能恢复吗
  • 公司自建房要交房产税吗
  • 留抵税额和待抵扣进项税额区别
  • 企业会计准则和小企业准则的区别
  • 固定资产的调整科目
  • 企业建帐的基本要求
  • mysql数据库中关于作为临时
  • office技术预览版和增强版
  • vista下实现秘密下载的解决办法
  • mac book视频
  • 快速锁定单元格的方法
  • win8屏幕键盘快捷键
  • 为什么好不容易瘦了两斤,两天吃好了又上来了?
  • windows识别码
  • win8上不了网
  • cocos2dx安装和初步使用
  • js判断手机号
  • xml文件网络传输
  • shell脚本while true循环
  • unity通过脚本控制骨骼节点让模型动起来
  • jQuery中serializeArray()与serialize()的区别实例分析
  • python求解析解
  • Unity UIScrollView优化
  • jQuery.uploadify文件上传组件实例讲解
  • node.js+captchapng+jsonwebtoken实现登录验证示例
  • 一个方便的世界作文
  • js uridecode
  • jquery加载中
  • android获取屏幕大小
  • 北京通个人认证
  • 出口免税不退税主要适用于
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设