如何在雪花中使用正则表达式?

问题描述 投票:0回答:1

规则:1.从R开始;2.一个或多个号码;3.一个空间;4.跟随其他字符;

测试用例:输入:'R1 ABC''R4 DEF''Randwick Acca''R11 PPP'

期望输出:'R1 ABC''R4 DEF''R11 PPP'

正则表达式:“ R \ d {1,}”我使用正则表达式测试器,它可以正常工作。https://regex-golang.appspot.com/assets/html/index.html?_sm_au_=iHVPMjQb0QjFkMTHfLJ4vK7214sJW

测试查询:

WITH tbl 
AS (select t.column1 mycol from values('R1 ABC'),('R4 DEF'),('Randwick Acca'),('R11 PPP') t)
SELECT *
FROM tbl 
WHERE mycol regexp 'R\d{1,} ' ;

返回NULL。

谢谢,Bin

snowflake-cloud-data-platform
1个回答
1
投票

1)“其他任何字符”在哪里?因为您所拥有的以空格结尾,所以句号

2)欢迎使用SQL。 \是特殊字符,需要转义]

所以:

WHERE mycol regexp 'R\\d{1,} .*';

我在您的查询中对其进行了测试,它似乎可以正常工作

© www.soinside.com 2019 - 2024. All rights reserved.