Impala/Hive 函数获取字符串的子串

Impala/Hive function to get the substring of a string

我正在使用 regexp_extract 从字符串中获取子字符串

我的字符串是“:abd: 576892034 :erg: 94856023MXCI :oute: A RF WERS YUT :oowpo: 649217349GBT GB”

如何使用 regexp_extract 函数得到这个。

如果我通过了,我需要 576892034 :abd:

尝试:

REGEXP_EXTRACT('your string', ':abd: ([^:]+)', 1)

正则表达式 :abd: ([^:]+) 表示匹配“:abd:”后跟任何不是“:”的字符。

此正则表达式假定“:”不会出现在“值”字符串中。因此,它会在此输入上失败:

:abd: 5768:92034 :erg: 94856023MXCI :oute: A RF WERS YUT :oowpo: 649217349GBT GB