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

yipeiwu_com4年前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绘制MySQL数据图实现数据可视化

利用Python绘制MySQL数据图实现数据可视化

本教程的所有Python代码可以在网上的IPython notebook中获取。 考虑在公司里使用Plotly?可以看一下Plotly的on-premises企业版。(注:On-prem...

详解Django框架中用户的登录和退出的实现

Django 提供内置的视图(view)函数用于处理登录和退出 (以及其他奇技淫巧),但在开始前,我们来看看如何手工登录和退出。 Django提供两个函数来执行django.contr...

详解如何减少python内存的消耗

详解如何减少python内存的消耗

Python 打算删除大量涉及像C和C++语言那样的复杂内存管理。当对象离开范围,就会被自动垃圾收集器回收。然而,对于由 Python 开发的大型且长期运行的系统来说,内存管理是不容小觑...

python实现共轭梯度法

python实现共轭梯度法

共轭梯度法是介于最速下降法与牛顿法之间的一个方法,它仅需利用一阶导数信息,但克服了最速下降法收敛慢的缺点,又避免了牛顿法需要存储和计算Hesse矩阵并求逆的缺点,共轭梯度法不仅是解决大型...

Python命令行解析模块详解

本文研究的主要是Python命令行解析模块的相关内容,具体如下。 Python命令行常见的解析器有两种,一是getopt模块,二是argparse模块。下面就解读下这两种解析器。 ge...