• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >python > Python使用正则表达式实现文本替换的方法

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

作者: 字体:[增加 减小] 来源:互联网

通过本文主要向大家介绍了python 正则表达式,python正则表达式教程,python正则表达式语法,python正则表达式匹配,python正则表达式实例等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

本文实例讲述了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)
</div>

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

①. 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程序设计有所帮助。

</div>

您可能想查找下面的文章:

  • Python 正则表达式实现计算器功能
  • Python使用正则表达式实现文本替换的方法
  • Python正则表达式教程之三:贪婪/非贪婪特性
  • Python正则表达式教程之二:捕获篇
  • Python正则表达式教程之一:基础篇
  • python使用正则表达式匹配字符串开头并打印示例
  • Python正则表达式实现截取成对括号的方法
  • Python正则表达式如何进行字符串替换实例
  • python使用正则表达式匹配字符串开头并打印示例
  • Python正则表达式实现截取成对括号的方法

相关文章

  • Python中关于字符串对象的一些基础知识
  • Python socket网络编程TCP/IP服务器与客户端通信
  • python通过yield实现数组全排列的方法
  • 探究Python的Tornado框架对子域名和泛域名的支持
  • Python数据结构之Array用法实例
  • 编写Python脚本使得web页面上的代码高亮显示
  • Python模拟登录12306的方法
  • Python3基础之函数用法
  • Python中最常用的操作列表的几种方法归纳
  • 一个基于flask的web应用诞生 记录用户账户登录状态(6)

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • 深入分析在Python模块顶层运行的代码引起的一个Bug
    • Python 冒泡,选择,插入排序使用实例
    • 解决Python 遍历字典时删除元素报异常的问题
    • 详解python调度框架APScheduler使用
    • Django接受前端数据的几种方法总结
    • 利用python爬取软考试题之ip自动代理
    • Python开发常用的一些开源Package分享
    • Python实现队列的方法
    • Python中将字典转换为XML以及相关的命名空间解析
    • 浅谈python新手中常见的疑惑及解答

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有