位置: 编程技术 - 正文

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常用的库)

  • 物业公司停车位出租发票税率是多少钱
  • 印花税退回计入什么科目
  • 总分公司报税有哪些注意事项
  • 合并报表中怎么抵消投资性房地产
  • 增值税专票发票代码在哪里看
  • 申请开红字发票,原蓝字发票要退回来吗
  • 一般纳税人固定资产怎么入账
  • 劳动保险费属于营业外支出吗
  • 化妆品的成本利润是多少
  • 海关进口增值税如何入账
  • 重复缴税怎么做账
  • 因质量出问题的事件
  • 本月计错多发的工资可以不交个税
  • 公司网站费用计入什么科目
  • 为员工购买的意外保险账务处理
  • 政府部门纳税人识别号查询
  • 资本收益率的计算公式净资产收益率
  • 上月作废的发票忘了作废,怎么做账
  • 应收账款未计提坏账,但是确实收不回来
  • 物业水费电费
  • 安装设备领用原材料应该用成本还是公允
  • 路由器突然不能上网了显示红灯
  • 收到政府财政拨款用于购买生产设备
  • 认证进项转出怎么操作
  • 固定资产的处理方法
  • 退还押金的账务处理流程
  • 企业跨年度的收入退回应该如何进行会计处理?
  • win11如何设置开机自启动软件
  • 查补以前年度企业所得税的申报处理
  • win10系统安装详细步骤
  • 详解九章算法
  • 职工报工伤后用人单位还有赔偿吗
  • 中科院院士2023增选
  • mask rcnn优点
  • thinkphp如何做微服务
  • php自定义函数格式是什么
  • 软件折旧费
  • 代理业务怎么记账
  • 建筑企业其他应付款
  • python怎么求列表里的和
  • 一般纳税人申请转为小规模纳税人
  • 留抵退税税务总局规定的其他情形
  • phpcms技术
  • sse后端向前端推送 前端只能收到 末尾的值
  • 耕地占用税通过税金及附加核算吗
  • 视同销售的会计分录有哪些?
  • 利润表利息费用怎么填
  • 福利费可以抵扣进项税
  • 生产企业的生产许可证
  • 车辆保险费用查询
  • 税控系统技术维护费的申报抵扣方法
  • 长期待摊费用会计分录
  • 政府补贴收入的账务处理
  • 总资产法怎么计算公式
  • 转出未交增值税会计处理
  • 收入支出结余怎么记账
  • 帮客户支付的机票计入什么科目
  • 会计审核程序
  • win7防火墙如何添加允许
  • 自己的磁盘
  • hipo.dll是什么
  • ssgrate.exe - ssgrate是什么进程
  • 怎么修改Windows账户密码
  • linux如何配置双网卡
  • win7自动休眠怎么取消
  • w10版本更新
  • Metaio in Unity3d 教程---Metaio扫描图片要求(Image Tracking)
  • android内存分析显示
  • 自动删除文件脚本bat
  • 浅谈关于混合模式教学的看法
  • JavaScript中的方法名不区分大小写
  • jquery禁用输入框
  • javascript面向对象吗
  • jquery foreach循环
  • 怎么在手机开数据那里看用了多少流量
  • 沈阳注销营业执照
  • 某地区土拍的楼盘有哪些
  • 会计基础工作规范2024
  • 电子税务局备案财务会计制度
  • 河北省社保证明网上查询
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设