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

Python脚本实现Mandrill转Mustache语法:mc:edit标签替换问题求助

解决mc:edit批量转换为Mustache语法的问题

直接用正则表达式精准匹配替换,既能一次性处理所有mc:edit="xxx"实例,还不会误修改普通引号。

修正后的代码

import re

original_text = 'font mc:edit="OrderReceiveDate" blah blah this is a test so i do not know what to "really" do bbbecause i am just writing this "OrderReceiveDate" mc:edit="OrderReceiveDate"'
# 匹配mc:edit="xxx"格式,捕获引号内内容并替换为Mustache语法
replacement_text = re.sub(r'mc:edit="([^"]+)"', r'{{\1}}', original_text)
print(replacement_text)

正确输出结果

font {{OrderReceiveDate}} blah blah this is a test so i do not know what to "really" do bbbecause i am just writing this "OrderReceiveDate" {{OrderReceiveDate}}

原理说明

  • 正则规则r'mc:edit="([^"]+)"':
    • mc:edit=" 精准定位Mandrill标签的开头
    • ([^"]+) 捕获引号内的所有非引号字符(即需要保留的变量名)
    • " 匹配标签结尾的引号
  • 替换模板r'{{\1}}':\1对应正则捕获到的变量名,最终拼接成Mustache的{{变量名}}格式

不管有多少个mc:edit实例,都能一次性完成正确转换,普通引号完全不受影响。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 23:23:25