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

Python使用re.sub替换字符串报bad escape \T错误如何解决

报错触发原因

re.sub的替换字符串参数会被re模块当作正则替换模板解析,模板中的反斜杠是特殊转义字符,用于标识正则反向引用(比如\1、\2代表匹配分组内容)等特殊规则。
你写的替换内容Flows\Temporary\001 : Unknown里的\T不属于re模块认可的合法转义序列,哪怕你用了r前缀的原始字符串(仅能避免Python解释器提前转义反斜杠),传入re模块后依然会触发转义解析错误。

修复方案

你当前的需求是固定普通子串替换,没有用到正则匹配规则,优先选择不需要正则的str.replace方法,完全避免转义冲突问题,代码如下:

actual_string = "001 : Unknown, testing"
actual_string = actual_string.replace("001 : Unknown", r"Flows\Temporary\001 : Unknown")
print(actual_string)

如果确实需要使用re.sub完成替换,需要将替换字符串中的所有反斜杠做双重转义,让re模块识别为普通反斜杠字符,代码如下:

import re

actual_string = "001 : Unknown, testing"
pattern_to_sub = "001 : Unknown"
pattern_sub = r"Flows\\Temporary\\001 : Unknown"
actual_string = re.sub(pattern_to_sub, pattern_sub, actual_string)
print(actual_string)

两种方案执行后都可以得到预期输出:Flows\Temporary\001 : Unknown, testing

内容的提问来源于stack exchange,提问作者Sayantan Roy

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 08:39:02