位置: 编程技术 - 正文

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

  • 运动手环的税收分类编码是
  • 发票在系统里作用大吗
  • 一般纳税人销售农产品增值税税率
  • 长期应收款的计税基础 陈版
  • 工会可以现金支付吗
  • 出口退税购入的商品进项税怎么处理
  • 企业减少注册资金需要缴税吗
  • 企业所得税季度预缴怎么计算
  • 待认证进项税期末余额在贷方
  • 应收账款待转销和应交税费待转销
  • 自行建造固定资产中的自营工程,在领用工程物资
  • 不含税劳务报酬怎么交税的
  • 以物易物差价印花税
  • 短期借款超过一年未归还转到哪会计视野
  • 新会计准则短期租赁会计分录
  • 凭证可以部分冲销吗
  • 普通合伙企业分配利润
  • 企业所得税减免税额计算公式
  • 公司购买的汽车可以一次性扣除吗
  • 代为持股有没有法律效应
  • 付工程款现金怎么做凭证?
  • 财产清查中固定资产盘亏
  • 职工福利费算职工薪酬吗
  • 辅导费是什么
  • 怎么看腾讯游戏
  • 关于工程材料的质量控制说法正确的是
  • 艾叶泡脚的方法和注意事项
  • 工地包工工程款一般怎么结
  • 研发费用的支出类型有哪些
  • PHP:is_writeable()的用法_Filesystem函数
  • 栅格布局实现
  • 史密斯理工学院
  • 更换电脑金税盘的数据如何导入新电脑
  • 设置背景图片大小和元素的大小一致的代码
  • 爬虫失败的原因
  • 民办非企业培训机构注册流程
  • 发票校验码二维码看不到了怎么查
  • 有问题的原始凭证是什么
  • 银行对账单冲正的单据在财务软件哪里找
  • python字符串isdigit
  • 个税赡养老人分摊方式怎么更改
  • sql server2008代理无法启动
  • 安装sql server 2005,安装不成功怎么设置
  • 营业外收入包括其他业务收入吗
  • 销售折让的账务处理方法
  • 内帐收入怎么确定
  • 专项资金的账务处理 借:银行存款 贷:其他应付款
  • 京东预付是什么意思
  • 退回的包装物怎么做账
  • 工资及福利费科目
  • 支付兼职人员工资会计处理
  • 成立教育培训司
  • 普票不开明细可以不
  • 如何建立一个新的群
  • 房地产企业会计核算和税务处理大全
  • sqlserver数据类型real
  • win7users移动其它盘
  • 电脑主板bios是什么意思
  • windows8自动更新在哪里关闭
  • macos finder的应用程序列表在哪里
  • xp系统无法预览图片
  • linux用户账户管理
  • win7用户在哪
  • win7 64位旗舰版设置插上耳机就能播放声音拔下耳机就自动禁音方法
  • linux根目录和主目录
  • windows7 无线服务
  • win8打开ie浏览器
  • jquery的实现原理
  • nodejs writestream
  • cocos2d-x教程
  • jqgrid获取选中行
  • linux系统启动进程命令
  • javascript的
  • jQuery插件开发
  • shell脚本中获取日期
  • python怎么编函数
  • 广东省地方税务局公告2017年第7号
  • 担保机构和银行的区别
  • 山东省国税网
  • 境外个人税务备案登记表
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设