python搜索替换n个非嵌套组的匹配
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python搜索替换n个非嵌套组的匹配相关的知识,希望对你有一定的参考价值。
import re def replace(match, withwhat): starttext = match.group(0) n = len(withwhat) off = match.start(0) tmp = starttext for i in range(n): delta = len(tmp)-len(starttext) tmp = tmp[:match.start(i+1)-off+delta ] + withwhat[i](match.group(i+1)) + tmp[match.end(i+1)-off+delta:] return tmp #test funcs = [lambda x: '1'+x+'1',lambda x: '2'+x+'2'] #regex contains 2 capturing groups print re.sub(regex, lambda x: replace(x, funcs), text)
以上是关于python搜索替换n个非嵌套组的匹配的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Python 或 posix 工具搜索和替换字符串中的匹配括号
Boost.Python:匹配 C++ 模板类型的嵌套命名空间