Impala 是否支持负面回溯?

Are negative lookbehinds supported in Impala?

我在 Impala 中使用 regexp_like 并在字符串数组中查找模式。我针对示例数据集构建了如下表达式。 运行 它会产生以下错误消息。

Invalid regex expression: '(?<=Hello).+'

regexp_like(string_field,'(?<!Hello).+')

result string_field
no match Hello World, Bye World
match Cool, Not Cool
no match Cool, Hello, Bye Bye

这种负面回顾适用于 python。还有其他人遇到过这个吗?我试过查看文档,但没有发现任何特别有用的东西。

一个更好的例子。

我试图从逗号分隔的字符串数组中找到至少一个事件,其中至少一个数组元素前面没有关键字,例如- ('Hello')。消极环视似乎是手头任务最优雅的解决方案之一。

有点笨拙,但这很有效:

regexp_like(string_field, '(^|,)([^H]|H[^e]|He[^l]|Hel[^l]|Hell[^o])')

live demo