所以我们有一个名为 TEMPLATES 的表,它将 html 电子邮件模板存储为纯文本(不要问,做出该决定时我不在场)。该表中有许多列,但我们关心的是存储文本的 TEMPLATE 字段。
现在我们最近更新了服务器用来在将这些模板发送给用户之前解析这些模板的库。这些库使用新的变量语法
${varName}
我的问题是很多旧电子邮件模板使用旧语法
@varName@
这些变量名称仅包含字母数字字符。我正在尝试使用 REGEXP_REPLACE 替换 with 的所有实例,@whateverVariable@
但是${whateverVariable}
在进行替换时我很难保留变量名。这可能吗?有一个更好的方法吗?
编辑:如果有所不同,我可能应该提到该字段是一个 CLOB。
您的变量具有固定格式和 3 个部分:
@
@
使用下面的正则表达式,您可以保留第二部分 (
\2
) 并在其周围添加您需要的额外字符 (${ }
):