Kra*_*sky 3 regex snowflake-cloud-data-platform
我正在努力在雪花中编写正则表达式。
SELECT
'DEM7BZB01-123' AS SKU,
RLIKE('DEM7BZB01-123','^DEM.*\d\d$') AS regex
Run Code Online (Sandbox Code Playgroud)
我想找到所有以“DEM”开头并以两位数字结尾的字符串。不幸的是,我使用的表达式返回 FALSE。
我在两个正则表达式生成器中检查了这个表达式,它起作用了。
在雪花中,反斜杠字符\是转义字符。
参考:转义字符和注意事项
因此,您需要在正则表达式中使用 2 个反斜杠来表示 1。
SELECT
'DEM7BZB01-123' AS SKU,
RLIKE('DEM7BZB01-123', '^DEM.*\\d\\d$') AS regex
Run Code Online (Sandbox Code Playgroud)
或者您可以以不使用反斜杠的方式编写正则表达式模式。
例如,模式^DEM.*[0-9]{2}$与模式匹配相同^DEM.*\d\d$。