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

Snowflake中REGEXP_LIKE使用\b单词边界返回False问题咨询

问题解决:Snowflake中REGEXP_LIKE使用\b单词边界返回False的原因

问题出在SQL字符串的转义规则上。在Snowflake的SQL语法中,反斜杠是转义字符,\b会被解析为退格字符(ASCII 8),而非正则表达式中的单词边界断言。你原语句里的\\b经过SQL解析后,实际传递给正则引擎的是单个\b(退格字符),自然无法匹配目标单词的边界。

正确写法

要在Snowflake的正则表达式中使用单词边界\b,需要在SQL字符串中用四个反斜杠来表示,这样SQL会将其解析为单个\b传递给正则引擎:

select 
regexp_like(lower('A path down to the street'), '\\\\bpath\\\\b'); 

执行该语句会返回TRUE,符合预期。

替代方案

Snowflake基于ICU正则引擎,也支持用\y表示单词边界(行为与\b一致),同样需要注意转义:

select 
regexp_like(lower('A path down to the street'), '\\\\ypath\\\\y'); 

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 23:48:11