python中的正则re.sub & re.subn

这次给大家带来python中的正则re.sub & re.subn,使用python中正则re.sub & re.subn的注意事项有哪些,下面就是实战案例,一起来看一下。

注意事项模块简介

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'',str)pattern = re.compile(r'(w+)(w+)(d+)')#先切片测试print re.split(pattern,str)print re.sub(pattern,r' ',str)#subn统计sub替换次数print re.subn(pattern,r' ',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的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2778175.html

(0)
上一篇 2025年3月8日 15:20:14
下一篇 2025年3月6日 02:29:49

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • Python聊天室程序(基础版)_python

    这篇文章主要为大家详细介绍了python聊天室程序的基础版,包含客户端和服务器端两部分,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 本文实例为大家分享了Python聊天室程序的具体代码,供大家参考,具体内容如下 客户端代码: # Fi…

    编程技术 2025年3月8日
    200
  • python实现树形打印目录结构_python

    这篇文章主要为大家详细介绍了python树形打印目录结构的相关代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 本文实例为大家分享了python树形打印目录结构的具体代码,供大家参考,具体内容如下 前言 这两天整理数据文件的时候发现,…

    编程技术 2025年3月8日
    200
  • Python-OpenCV基本操作方法详解_python

    下面小编就为大家分享一篇python-opencv基本操作方法详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 基本属性 cv2.imread(文件名,属性) 读入图像 属性:指定图像用哪种方式读取文件 cv2.IMRE…

    2025年3月8日 编程技术
    200
  • python opencv 图像尺寸变换方法

    下面小编就为大家分享一篇python opencv 图像尺寸变换方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 利用Python OpenCV中的 cv.Resize(源,目标,变换方法)就可以实现变换为想要的尺寸了 …

    编程技术 2025年3月8日
    200
  • python的api自动化测试怎么实现

    这次给大家带来python的api自动化测试怎么实现,python的api自动化测试实现的注意事项有哪些,下面就是实战案例,一起来看一下。 项目测试对于一个项目的重要性,大家应该都知道吧,写python的朋友,应该都写过自动化测试脚本。最近…

    编程技术 2025年3月8日
    200
  • python操作excel读写数据

    这次给大家带来python操作excel读写数据,python操作excel读写数据的注意事项有哪些,下面就是实战案例,一起来看一下。 本文实例为大家分享了python操作EXCEL的实例源码,供大家参考,具体内容如下 读EXCEL的操作:…

    编程技术 2025年3月8日
    200
  • python操作矩阵行列

    这次给大家带来python操作矩阵行列,python操作矩阵行列的python有哪些,下面就是实战案例,一起来看一下。 矩阵增加行 np.row_stack() 与 np.column_stack()import numpy as npa …

    2025年3月8日
    200
  • python实现数组list的增删改

    这次给大家带来python实现pythonlist的增删改,python实现数组list增删改的python有哪些,下面就是实战案例,一起来看一下。 数组是一种有序的集合,可随时添加、python其中的元素 book = [‘xiao zh…

    编程技术 2025年3月8日
    200
  • python读写json文件案列详解(附代码)

    这次给大家带来python读写json文件案列详解(附代码),python读写json文件的注意事项有哪些,下面就是实战案例,一起来看一下。 JSON(注意事项 Object Notation) 是一种轻量级的数据交换格式。它基于ECMAS…

    2025年3月8日 编程技术
    200
  • 教你如何搭建简易网站:python开发web服务器

    python中有数不清的web框架,从基本的微小架构到完整的架构,它们自有各自的优点。那么你准备使用它来做一些web开发,但在探讨细节之前,让我们从头开始。 目标 用已有的丰富图片资源建一个看图网站 条件 开发语言: python3 库: …

    编程技术 2025年3月8日
    200

发表回复

登录后才能评论