我想捕捉和提取,在Hive/ Impala 使用 regexp_extract
函数,两个字符之间的所有单词( /
以及 -
)也是从文字开始到文字的第一个字 -
.
我有这样一根线: key1-value1/key2-value2/key3-value3/keyN-valueN
我希望函数提取:
key1 key2
key3 keyN
键值对的出现次数可变。
如: -bca/.s-13:13:13/any-x/keyn-1
我想让函数提取我:
abc .s
any keyn
我使用的是以下正则表达式,但只有当我有3个键时它才起作用: ^(.+)-(?:.+)/(.+)-(?:.+)/(.+)-(?:.$)
如何将其扩展到n(可变)键?
谢谢
2条答案
按热度按时间ftf50wuq1#
如果它支持lookback
或者它是否支持perl表示法
\K
```(?:^|/)\K[^-]*
jutyujz02#
regexp\u replace,替换从行首或从斜杠到连字符(-)的所有字符。
split函数基于“/”转换字符串的左边。
explode函数将数组元素转换为行。