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

1318次阅读  |  发布于5年以前

本文实例讲述了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程序设计有所帮助。

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8