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

Python中re.sub正则$分组引用失效,求JS等效写法

解决Python re.sub分组引用不生效的问题

在Python的re.sub中,分组引用的语法和JS、VS Code不同,你不能用$1、$2来引用捕获分组,而是需要用\1、\2这类语法。

你的原代码:

re.sub("( |\t)([a-zA-Z0-9_]+) = ", "$1\"$2\":", string)

修改为:

re.sub(r"( |\t)([a-zA-Z0-9_]+) = ", r"\1\"\2\":", string)

补充说明:

  • 改用\1、\2替代$1、$2,这是Python re模块识别分组引用的标准写法
  • 推荐在正则表达式和替换字符串前加r前缀(原始字符串),避免Python对反斜杠进行额外转义,减少出错概率
  • 也可以用单引号包裹替换字符串,这样双引号无需转义,写法更简洁:
    re.sub(r"( |\t)([a-zA-Z0-9_]+) = ", r'\1"\2":', string)
    

这样修改后,就能正确引用分组内容,实现你想要的替换效果。

内容的提问来源于stack exchange,提问作者Jeffrey Winekenburg

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 15:55:17