将字符串替换为基于原始内容的字符串

2024-04-26 07:12:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要用参数替换宏(param)

mystring = "function(macro(param)) { a = call(1)};"

我的目标是

^{pr2}$

参数是可变的,它也必须为

mystring = "function(macro(another_param)) { a = call(1)};"
"function(another_param) { a = call(1)};"

而在文本周围可以是任何东西,而这个文本不应该受到影响。在


Tags: 文本目标参数paramanotherfunctioncallmacro
1条回答
网友
1楼 · 发布于 2024-04-26 07:12:59

您也可以使用re.sub

import re

>>> mystring = "function(macro(param)) { a = call(1)};"
>>> re.sub('macro\((.*?)\)', r'\1', mystring)
function(param) { a = call(1)};

>>> mystring = "function(macro(another_param)) { a = call(1)};"
>>> re.sub('macro\((.*?)\)', r'\1', mystring)
function(another_param) { a = call(1)};

重新搜索macro(param***),并将param***放入一个组中,然后sub将整个匹配替换为param***

相关问题 更多 >