Hive正则表达式 - 仅需要字符串的一部分

时间:2016-02-26 19:55:34

标签: sql regex hive

您好我正在尝试从我的hive表中的一列中提取部分数据,但字符的位置不在一个地方

select value4,regexp_extract(value4,'*****',0) from hive_table;

列值如下所示

grade:data:home made;Cat;dinnerbox_grade_Enroll
list:date:may;animal;dinnerbox_list_value
cgrade:made_data;dinnerbox_cgrade_notEnroll

我希望从晚餐盒中获取数据直到结束。

任何人都可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

这是一个非常简单的正则表达式

.*dinnerbox(.*?)$

使用非贪婪的通配符,但强制它到行尾,确保你总是在最后收到晚餐盒。

您想要捕获组1

要摆脱_你可以使用

.*dinnerbox_(.*?)$