我在 Impala 中使用 regexp_like 和負后向查找字串陣列中的模式。我針對示例資料集構建了如下運算式。運行它會產生以下錯誤訊息。
無效的正則運算式:'(?<=Hello). '
regexp_like(string_field,'(?<!Hello). ')
| 結果 | 字串欄位 |
|---|---|
| 不匹配 | 你好世界,再見世界 |
| 匹配 | 酷,不酷 |
| 不匹配 | 酷,你好,再見 |
這種負面的后視在 python 中有效。有沒有其他人遇到過這個?我試過查看檔案,但沒有發現任何特別有用的東西。
一個更好的例子。
我試圖從逗號分隔的字串陣列中找到至少一個匹配項,其中至少一個陣列元素前面沒有關鍵字,例如 - ('Hello')。消極的環視似乎是手頭任務最優雅的解決方案之一。
uj5u.com熱心網友回復:
有點笨拙,但這有效:
regexp_like(string_field, '(^|,)([^H]|H[^e]|He[^l]|Hel[^l]|Hell[^o])')
見現場演示。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/467611.html
標籤:sql 正则表达式 Hadoop 正则表达式环顾四周 黑斑羚
