千家信息网

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

发表于:2025-01-26 作者:千家信息网编辑
千家信息网最后更新 2025年01月26日,这篇文章给大家分享的是有关python中正则表达式re.sub & re.subn的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。python正则表达式模块简介Py
千家信息网最后更新 2025年01月26日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安全错误 数据库的锁怎样保障安全 企业建站时服务器选择有哪几种 安恒网络安全认证中心 滨海新区互联网软件开发质量保障 谷歌服务器如何收费的 宜黄租房软件开发 中天钢铁集团有限公司的软件开发 龙源期刊数据库收录期刊 软件开发定制衢州 建设手机银行服务器临时不可用 央行新成立的软件开发公司 软件开发毕业论文包含 具发展潜力的桌面共享软件开发 上海护壹软件开发是做什么的 剑网三移动云端服务器哪里下载 数据库关系运算是什么型数据 创新联杰网络技术有限公司 招计算机网络技术专业单位 高考会考信息技术 数据库 浙江网络安全培训服务机构 网络安全含串口通讯吗 软件开发关于就业 新疆煤矿网络安全 网络安全与管理视频教程 网络安全稿子400 哪家服务器便宜 博山在线考试软件开发 医药管理服务器名称 郑州中网网络技术有限公司 昭通 软件开发 数据库管理系统提供的功能有
0