sor*_*ora 5 regex amazon-redshift
当我(?!abc)在redshift上使用负向前瞻(类似)时,redshift会返回如下错误:
-- Find records that do not start with abc
select * from table_a where column_a ~ '^(?!abc).+$'
Run Code Online (Sandbox Code Playgroud)
错误:PG :: InternalError:ERROR:重复运算符之前的前一个正则表达式无效.解析正则表达式时出错:'^(?>>> HERE >>>!abc).+ $'.DETAIL:-----------------------------------------------错误:重复运算符之前的前一个正则表达式无效.解析正则表达式时出错:'^(?>>> HERE >>>!abc).+ $'.代码:8002 context:T_regexp_init query:1039510位置:funcs_expr.cpp:130
看起来Redshift不承认负面的前瞻......
有什么办法可以在Redshift上使用它吗?
加.对于Amazon Redshift文档,您可以与~运算符一起使用的正则表达式符合POSIX标准.这意味着没有环视支持,您不能使用(?!...),也不能(?<!...)构建这些模式.
如果它不以模式开头,你似乎想要匹配一个字符串.在这种情况下,您可以使用否定的正则表达式运算符版本!~.
where column_a !~ '^abc'
Run Code Online (Sandbox Code Playgroud)