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

Python re模块替换失败排查:替换@include后的配置文件路径

Python正则替换失败的问题修复

你的代码有两个关键错误导致替换失败:

  • 正则表达式中的路径匹配部分写错:你使用了//S+,正确的写法应该是/\S+,其中\S是正则元字符,用来匹配任意非空白字符,前面的单个斜杠对应路径中的分隔符。
  • 未转义文件名后缀的.:正则里的.会匹配任意单个字符,而你需要精准匹配.conf后缀,因此必须把.转义为\.,否则会误匹配类似xconf这类不符合要求的内容。

修正后的代码如下:

import re
foo = '<source>
  @type syslog
  port 5140
  bind 0.0.0.0
  @include /etc/aaa/bbb.conf
  message_format auto
  tag eeee
  message_length_limit 16384
</source>

'

repl = '/etc/ccc/lg.json' 
# 修正正则表达式:修正路径匹配语法,转义.conf的点
res = re.sub(r'@include /etc/aaa/\S+\.conf', repl, foo)
print(res)

运行这段代码后,就能成功将任意@include /etc/aaa/xxx.conf格式的内容替换为指定的/etc/ccc/lg.json路径。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 11:50:21