Hive 正则表达式

Posted

技术标签:

【中文标题】Hive 正则表达式【英文标题】:Hive Regular Expression 【发布时间】:2016-03-08 03:42:48 【问题描述】:

谁能让我知道如何在一种情况下使用 Hive 最新版本中的正则表达式。我有一列具有不同的值 - 多行,我想在 val 数据之后提取数据,如下所示

col1 -> Money;valone:这是储蓄账户

col2 -> Money;valtwo: 不是一般账户

col3 -> Money;valthree:你的信用卡

col4 -> Money;valFour:不正确的账户号码

当我使用正则表达式选择查询时

select colname,regexp_extract(colname,*.;val?:[^...,1) from hive_table;

我希望输出为 输出: 这是储蓄账户 不是一般帐户 您的信用卡 帐号不正确


我也试过 valone|valtwo|valthree|valfour.... 但是几乎有数千条记录我不能写 valone|valtwo|valthree|valfour .................... . 对于每条记录。

有人可以帮忙吗?

【问题讨论】:

【参考方案1】:

我认为您的正则表达式有问题。请尝试以下查询。

select colname,regexp_extract(colname,'.*;.*:(.*)',1) from table_name;

【讨论】:

以上是关于Hive 正则表达式的主要内容,如果未能解决你的问题,请参考以下文章

HIVE常用正则表达式

hive 正则匹配符号都要转义吗

hive正则表达式

HIVE之正则化详解

Hive 正则表达式

Hive正则表达式