Python实现查找匹配项作处理后再替换回去的方法

yipeiwu_com6年前Python基础

本文实例讲述了Python实现查找匹配项作处理后再替换回去的方法。分享给大家供大家参考,具体如下:

这里实现Python在对找到的匹配项进行适当处理后,再替换掉原来那个匹配的项。

#!/usr/bin/python
# coding=GBK
import re
# 对m作适当处理后返回结果
def fun(m):
  print("in: %s" %m.group(0))
  ret = m.group(0).upper()[::-1]
  return ret
src = "what [can] I do for can you[can] come on"
pat = "(?<=
)(can)(?=
)"
#print(re.search(pat, src).group(1))
#result = re.sub(pat,lambda m:m.group(1).upper()[::-1], src)
# 使用lambda
result1 = re.sub(pat, lambda m:m.group(0).upper()[::-1], src)
print("result1: %s\n" %result1)
# 在re.sub中使用函数
result2 = re.sub(pat, fun, src)
print("result2: %s" %result2)

运行输出:

[zcm@python #112]$./del.py
result1: what [NAC] I do for can you[NAC] come on
in: can
in: can
result2: what [NAC] I do for can you[NAC] come on
[zcm@python #113]$

看到了吗,所有匹配"[can]"的项都被“转换成大写并逆顺”了

更多关于Python相关内容可查看本站专题:《Python字符串操作技巧汇总》、《Python常用遍历技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》及《Python入门与进阶经典教程

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

相关文章

一行Python代码制作动态二维码的实现

一行Python代码制作动态二维码的实现

在GitHub上发现了一个比较有意思的项目,只需要一行Python代码就可以快捷方便生成普通二维码、艺术二维码(黑白/彩色)和动态GIF二维码。 GitHub网站参加:https://g...

Python unittest单元测试框架总结

什么是单元测试 单元测试是用来对一个模块、一个函数或者一个类来进行正确性检验的测试工作。 比如对于函数abs(),我们可以编写的测试用例为: (1)输入正数,比如1、1.2、0.99,期...

Python获取暗黑破坏神3战网前1000命位玩家的英雄技能统计

Python获取暗黑破坏神3战网前1000命位玩家的英雄技能统计

说实在的个人对游戏并没有多大的兴趣,但唯独对暴雪的Diablo系列很有感情,去年年初开始玩Diablo3,断断续续,感觉最麻烦的是选择技能,每次版本更新可能都有更优的build,这对于我...

pytorch 模型可视化的例子

pytorch 模型可视化的例子

如下所示: 一. visualize.py from graphviz import Digraph import torch from torch.autograd import...

Windows中使用wxPython和py2exe开发Python的GUI程序的实例教程

Windows中使用wxPython和py2exe开发Python的GUI程序的实例教程

Python是支持可视化编程,即编写gui程序,你可以用它来编写自己喜欢的桌面程序。使用wxPython来做界面非常的简单,只是不能像C#一样拖动控件,需要自行写代码布局。在完成编写之后...