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 操作文件 编程语言对文件系统的操作是一项必不可少的功能,各种编程语言基本上都有对文件系统的操作,最简洁的莫过于linux里面shell的操作了,其次,则是python,ru...

python实现神经网络感知器算法

python实现神经网络感知器算法

现在我们用python代码实现感知器算法。 # -*- coding: utf-8 -*- import numpy as np class Perceptron(object)...

Python + OpenCV 实现LBP特征提取的示例代码

Python + OpenCV 实现LBP特征提取的示例代码

背景 看了些许的纹理特征提取的paper,想自己实现其中部分算法,看看特征提取之后的效果是怎样 运行环境 Mac OS Python3.0 Anaconda3(集成了很多包...

在Python程序中操作文件之flush()方法的使用教程

 flush()方法刷新内部缓冲区,像标准输入输出的fflush。这类似文件的对象,无操作。 Python关闭时自动刷新文件。但是可能要关闭任何文件之前刷新数据。 语法 以下是...

pygame实现简易飞机大战

利用pygame实现了简易版飞机大战。源代码如下: # -*- coding:utf-8 -*- import pygame import sys from pygame.local...