0

如果在其他地方有答案,我深表歉意。

我有一个存储在 Hive 字段中的字符串,该字段可以有 0 到 n 次出现“&”,然后在每次出现后跟上文本。

在 Hive 中,我想找到最后一次出现并抓取该次出现之后的所有文本。

使用 ...

split(field1,'[&]')[n]

...我可以抓住第 n 次出现,但我无法预测决赛或倒数。

我能够使以下工作:

reverse(split(reverse(field1),'[&]')[0])

然而,使用三个函数似乎有很多不必要的开销。我知道您可以在 regexp_extract() 中使用正则表达式,但我对正则表达式感到困惑。

regexp_extract() 会更快吗?如何实现?

4

1 回答 1

0
[^&]*$

捕获&直到字符串末尾的所有字符$

于 2013-10-24T18:54:37.023 回答