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

Snowflake正则表达式重复字符参数报错及解决方法问询

解决SQL正则表达式报错问题

报错原因

你的正则表达式报错核心原因有两点:

  1. 正则语法中*是重复运算符(匹配前置元素0次或多次),但你的写法里*没有对应的前置可重复原子——这是因为SQL字符串里的反斜杠需要双重转义,你写的\*被解析成了字面量*,导致正则引擎看到*+时,判定*是无前置元素的非法重复运算符。
  2. |在正则中是“逻辑或”符号,你要匹配字面量的竖线分隔符,同样需要正确转义。

修正后的SQL查询

select 
ID,
COMMENT,
max(case when lower(COMMENT) Rlike '\\*+z\\|Samuel\\|Amount:[0-9]+\\|Frequency:[0-9]+' 
    then 1 else 0 end) as indicator
from Table_Name group by 1,2

关键调整说明

  • 将\*改为\\*:SQL字符串中反斜杠需双重转义,这样正则引擎才能识别你要匹配字面量*,\\*+表示匹配1个或多个连续的*。
  • 将\|改为\\|:同样通过双重转义竖线,确保正则引擎匹配的是字面量分隔符|,而非把它当成逻辑或运算符。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 20:02:22