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

Snowflake SQL中Regex单词边界失效,CT替换为COURT失败求助

Snowflake SQL中CT替换为COURT的问题解决

你写的正则替换没生效的核心原因是Snowflake的SQL字符串转义规则:单个反斜杠\是SQL的转义字符,你写的\b会被解析成退格符,完全不是正则表达式里的单词边界。

要正确使用正则的单词边界,必须把\b写成双反斜杠\\b,修改后的语句如下:

select
    regexp_replace('36 HERITAGE CT', '\\bCT\\b', 'COURT'),
    regexp_replace('36 HERITAGE CT #204', '\\bCT\\b', 'COURT')

执行后就能得到预期的36 HERITAGE COURT和36 HERITAGE COURT #204。

如果需要覆盖更多边缘场景(比如CT前后有非空白的分隔符号),可以用更灵活的正则逻辑,匹配CT处于非单词字符或字符串首尾的位置:

select
    regexp_replace('36 HERITAGE CT', '(^|\\W)CT(\\W|$)', '\\1COURT\\2'),
    regexp_replace('36 HERITAGE CT #204', '(^|\\W)CT(\\W|$)', '\\1COURT\\2')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 14:45:55