You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python正则表达式将foo(...)替换为括号内的文本?

解决方案

要实现你需要的替换效果,别用re.findall()了,直接用re.sub()——这才是Python正则模块里专门做文本替换的方法。

具体代码实现:

import re

my_string = "a + (foo(b)*foo(c))"
# 执行替换操作
result = re.sub(r'foo\((.*?)\)', r'\1', my_string)
print(result)

逻辑说明:

  • 正则表达式r'foo\((.*?)\)'会匹配所有foo(xxx)格式的片段,其中(.*?)是非贪婪捕获组,专门提取括号内部的内容;
  • 替换参数里的r'\1'代表引用第一个捕获组的内容,相当于把整个foo(xxx)直接替换成括号里的xxx;
  • 运行后输出结果就是你期望的:a + (b*c)

内容的提问来源于stack exchange,提问作者Justin Davis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 06:45:36