You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Snowflake表中匹配数字后接双引号或空格加双引号的正则表达式查询需求

在Snowflake中查找包含数字+双引号或数字+空格+双引号的记录

没问题!要精准定位Snowflake表中符合你描述格式的记录,我们可以用正则表达式来实现,完美覆盖你提到的两种场景。

核心正则表达式

针对你给出的6"(数字直接后跟转义双引号)和7 "(数字+空格+转义双引号)这两种格式,推荐使用下面的正则:

\d+\s?"

让我拆解一下这个表达式的逻辑:

  • \d+:匹配一个或多个连续数字(比如单个数字6、多位数123都能覆盖)
  • \s?:匹配0个或1个空格?表示可选,刚好兼容有空格和无空格的两种情况)
  • ":匹配你示例中的HTML转义双引号字符串

Snowflake查询示例

把这个正则用到查询里,写法如下(记得替换成你的表名和列名):

SELECT *
FROM your_target_table
WHERE REGEXP_LIKE(your_target_column, '\d+\s?"');

补充说明

如果你的表中存储的是未转义的双引号(比如直接是6"7 "),只需要把正则里的"换成"即可:

\d+\s?"

匹配验证

这个正则会匹配以下内容:

  • 6"
  • 7 "
  • 123"
  • 45 "

不会匹配这些不符合规则的内容:

  • abc" ❌(没有前置数字)
  • 6xyz" ❌(数字和双引号之间有其他字符)
  • "6 ❌(双引号在数字前面)

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

火山引擎 最新活动