本文实例讲述了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程序设计有所帮助。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。