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

Python正则表达式:捕获内容并反向引用实现字符串替换

解决正则反向引用问题

在Python的re.sub()中,你可以用\1来反向引用第一个捕获组(也就是你用括号(\S*)捕获的内容),注意要给替换字符串加上原始字符串前缀r,避免转义字符被错误解析。

修正后的代码如下:

import re

string = 'void testsuite_testname(void)'
# 用\1引用捕获到的testname,正则和替换串都加r前缀避免转义问题
string2 = re.sub(r'void testsuite_(\S*)\(void\)', r'TEST_F(other_stuff, \1)', string)
print(string2)  # 输出结果:TEST_F(other_stuff, testname)

额外说明:

  • 原始字符串前缀r能让Python直接识别字符串中的\为正则语法的一部分,而不是转义符。
  • 若有多个捕获组,可依次用\2、\3来对应引用后续捕获到的内容。

内容的提问来源于stack exchange,提问作者Daniel Navarro

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 01:35:24