千家信息网

python中正则表达式re.sub & re.subn的示例分析

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章给大家分享的是有关python中正则表达式re.sub & re.subn的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。python正则表达式模块简介Py
千家信息网最后更新 2026年11月01日python中正则表达式re.sub & re.subn的示例分析

这篇文章给大家分享的是有关python中正则表达式re.sub & re.subn的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

python正则表达式模块简介

Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式。Python 1.5之前版本则是通过 regex 模块提供 Emacs 风格的模式。Emacs 风格模式可读性稍差些,而且功能也不强,因此编写新代码时尽量不要再使用 regex 模块,当然偶尔你还是可能在老代码里发现其踪影。

就其本质而言,正则表达式(或 RE)是一种小型的、高度专业化的编程语言,(在Python中)它内嵌在Python中,并通过 re 模块实现。使用这个小型语言,你可以为想要匹配的相应字符串集指定规则;该字符串集可能包含英文语句、e-mail地址、TeX命令或任何你想搞定的东西。然后你可以问诸如"这个字符串匹配该模式吗?"或"在这个字符串中是否有部分匹配该模式呢?"。你也可以使用 RE 以各种方式来修改或分割字符串。

正则表达式模式被编译成一系列的字节码,然后由用 C 编写的匹配引擎执行。在高级用法中,也许还要仔细留意引擎是如何执行给定 RE ,如何以特定方式编写 RE 以令生产的字节码运行速度更快。本文并不涉及优化,因为那要求你已充分掌握了匹配引擎的内部机制。

正则表达式语言相对小型和受限(功能有限),因此并非所有字符串处理都能用正则表达式完成。当然也有些任务可以用正则表达式完成,不过最终表达式会变得异常复杂。碰到这些情形时,编写 Python 代码进行处理可能反而更好;尽管 Python 代码比一个精巧的正则表达式要慢些,但它更易理解。

正则表达式一个比较常见的用途是找到所有模式匹配的字符串并用不同的字符串来替换它们。sub方法提供一个替换值,可以是字符串或函数,和一个要被处理的字符串。

Grammar:

re.sub(pattern, repl, string[, count])

使用repl替换string中每一个匹配的子串后返回替换后的字符串。

当repl是一个字符串时,可以使用\id或\g、\g引用分组,但不能使用编号0。

当repl是一个方法时,这个方法应当只接受一个参数(Match对象),并返回一个字符串用于替换(返回的字符串中不能再引用分组)。

count用于指定最多替换次数,不指定时全部替换。

re.subn(pattern, repl, string[, count])

返回 (sub(repl, string[, count]), 替换次数)。

Case:

#coding=utf-8import restr = "https://i.cnb1logs.co2m/Edi3tPosts.asp4x?opt=999"pattern=re.compile(r'(\.)')print '\.     :' ,re.sub(pattern,'-',str)pattern=re.compile(r'\/([^*]+)\/')print '\/([^*]+)\/ :' ,re.sub(pattern,r'\1',str)pattern = re.compile(r'(\w+)(\w+)(\d+)')#先切片测试print re.split(pattern,str)print re.sub(pattern,r'\3 \1',str)#subn统计sub替换次数print re.subn(pattern,r'\3 \1',str)

Output

\.     : https://i-cnb1logs-co2m/Edi3tPosts-asp4x?opt=999\/([^*]+)\/ : https:/i.cnb1logs.co2mEdi3tPosts.asp4x?opt=999['https://i.', 'cn', 'b', '1', 'logs.', 'c', 'o', '2', 'm/', 'Ed', 'i', '3', 'tPosts.', 'as', 'p', '4', 'x?opt=', '9', '9', '9', '']https://i.1 cnlogs.2 cm/3 EdtPosts.4 asx?opt=9 9('https://i.1 cnlogs.2 cm/3 EdtPosts.4 asx?opt=9 9', 5)***Repl Closed***

感谢各位的阅读!关于"python中正则表达式re.sub & re.subn的示例分析"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

字符 字符串 表达式 正则 模式 模块 代码 引擎 方法 次数 语言 风格 处理 示例 分析 内容 功能 字节 方式 更多 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广东万易互联网科技有限公司惠州分公司 互联网医疗科技 科技服务与互联网 华宇互联网科技 奇酷互联网科技公司 腾讯科技 互联网女皇 科技创新互联网企业 汇久创客互联网科技 互联网高科技企业 互联网公司会议桌创意科技软装饰 青岛中康互联网医疗科技有限公司 科技互联网的估值 互联网公司科技股 南平创想时代互联网科技有限公司 晓花互联网科技有限公司网址 未来五年的互联网科技 宁波跨境商互联网科技有限公司 易租星互联网科技有限公司 米泉互联网科技专业怎么样 如何强化互联网金融科技 互联网金融科技 互联网络科技 广州为想互联网科技有限公司 山东特亿宝互联网科技有限公司 互联网科技财经 伴你行互联网科技有限公司 宁夏科技产业互联网案例 江阴互联网智能科技产品进口 天津腾达互联网科技有限公司 中国主要互联网科技公司
0