Python使用正则表达式实现文本替换的方法

 更新时间:2017年04月18日 12:04:01   作者:冷侃  
这篇文章主要介绍了Python使用正则表达式实现文本替换的方法,结合实例形式分析了Python使用正则表达式实现文本替换的具体操作步骤与相关使用注意事项,需要的朋友可以参考下

本文实例讲述了Python使用正则表达式实现文本替换的方法。分享给大家供大家参考,具体如下:

2D客户端编程从某种意义上来讲就是素材组织,所以,图片素材组织经常需要批量处理,python一定是最佳选择,不管是win/linux/mac都有一个简单的运行环境

举两个应用场景

① 如果不是在某个文件夹里面则将文件夹名称插入前面

② 所有的文件名名称加上一个前缀

直接看代码吧:

# encoding: UTF-8
import re
# 将正则表达式编译成Pattern对象
p = re.compile(r'(?P<folder>(\w+/)*)(?P<filename>\w+\.png)')
# 使用Pattern匹配文本,获得匹配结果,无法匹配时将返回None
#match = pattern.match('<key>xxx/duobaojiemian_L/yangpizi.png</key>')
the_str = """<key>XXXX/duobaojiemian2222_L/duobaojiemian_L/yangpizi.png</key>
 <key>yangpizi2.png</key>
 <key>yangpizi3.png</key> """
for m in p.finditer(the_str):
 # 使用Match获得分组信息
 print m.groupdict()
print '-------------------------------'
#f = lambda m: m.group().find('XXXX/') == -1 and 'XXXX/'+m.group() or m.group()
def f(m):
 s = m.group()
 return s.find('XXXX/') == -1 and 'XXXX/'+s or s
def f2(m2):
 d = m2.groupdict()
 return d['folder']+'the_'+d['filename']
print p.sub(f2, the_str)

关于正则表达式有几个需要交代的

①. python的正则表达式如果捕获需要分组则使用这个语法(?P<命名>匹配的正则表达式)

②. re.compile用于编译正则表达式并返回对象

③. p.finditer返回所有匹配的迭代器

④. p.sub将匹配项传入回调函数,并且用返回值替换文本

⑤. m.groupdict,可以使用则的分组命名取相应的值

PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:

JavaScript正则表达式在线测试工具:
http://tools.jb51.net/regex/javascript

正则表达式在线生成工具:
http://tools.jb51.net/regex/create_reg

更多关于Python相关内容可查看本站专题:《Python正则表达式用法总结》、《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总

希望本文所述对大家Python程序设计有所帮助。

相关文章

  • Python中__del__方法的使用方法详细解析

    Python中__del__方法的使用方法详细解析

    __del__()称为“析构方法”,用于实现对象被销毁时所需的操作,下面这篇文章主要给大家介绍了关于Python中__del__方法的使用方法,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-02-02
  • python开发实例之python使用Websocket库开发简单聊天工具实例详解(python+Websocket+JS)

    python开发实例之python使用Websocket库开发简单聊天工具实例详解(python+Websocket+J

    这篇文章主要介绍了python开发实例之python使用Websocket库开发简单聊天工具实例详解(python+Websocket+JS),需要的朋友可以参考下
    2020-03-03
  • python-tkinter之按钮的使用,开关方法

    python-tkinter之按钮的使用,开关方法

    今天小编就为大家分享一篇python-tkinter之按钮的使用,开关方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-06-06
  • Python面向对象程序设计多继承和多态用法示例

    Python面向对象程序设计多继承和多态用法示例

    这篇文章主要介绍了Python面向对象程序设计多继承和多态用法,结合实例形式分析了Python面向对象程序设计中多继承、多态的概念、原理、实现方法及相关操作注意事项,需要的朋友可以参考下
    2019-04-04
  • pyecharts实现数据可视化

    pyecharts实现数据可视化

    这篇文章主要介绍了pyecharts实现数据可视化,pyecharts 是百度开源的,适用于数据可视化的工具,配置灵活,展示图表相对美观,顺滑,下面更多详细内容,需要的小伙伴可以参考一下
    2022-03-03
  • python中__call__方法示例分析

    python中__call__方法示例分析

    这篇文章主要介绍了python中__call__方法示例分析,较为详细的分析了python中__call__方法的用法,需要的朋友可以参考下
    2014-10-10
  • python利用selenium进行浏览器爬虫

    python利用selenium进行浏览器爬虫

    这篇文章主要介绍了python项目实战之利用selenium进行浏览器爬虫,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-04-04
  • python将xml xsl文件生成html文件存储示例讲解

    python将xml xsl文件生成html文件存储示例讲解

    这篇文章主要介绍了python将xml、xsl文件转成html文件存储方法,大家参考使用吧
    2013-12-12
  • Python基于requests实现模拟上传文件

    Python基于requests实现模拟上传文件

    这篇文章主要介绍了Python基于requests实现模拟上传文件,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • Python中工作日类库Busines Holiday的介绍与使用

    Python中工作日类库Busines Holiday的介绍与使用

    Python语言是通过区分类库的方式来划分功能。用户根据自身的需要加载合适的类库,来完成需要的功能。下面这篇文章主要给大家介绍了关于Python中工作日类库Busines Holiday使用的相关资料,需要的朋友可以参考借鉴。
    2017-07-07

最新评论