我对在 Redshift 中使用 POSIX 正则表达式很陌生。老实说,我认为这种模式必须兼容。
[^A-Za-z0-9\\.\\,-]+
但是,正如我尝试过这样的查询
SELECT * FROM my_table WHERE string_column ~ '[^A-Za-z0-9\\.\\,-]+';
它给了我一个与我喜欢的不匹配的结果,并且似乎将插入符号视为字符文字。我也试过用[^[:alnum:]]
没用。发生这种情况的原因可能是什么?我是否输入了错误,或者这是 Redshift 或 JDBC 驱动程序中的限制?
我目前正在通过 JetBrains DataGrip(最新版本)运行查询,并使用最新的 Amazon Redshift JDBC 驱动程序运行它。