hive中regexp_extract的用法总结

hive shell 编程记录 专栏收录该内容
12 篇文章 0 订阅

 

1。regexp_extract

语法:    regexp_extract(string subject,  string pattern,  int index)

返回值: string

说明:  将字符串subject按照pattern正则表达式的规则拆分,返回index指定的字符。

第一参数:   要处理的字段

第二参数:    需要匹配的正则表达式

第三个参数:

  • 0是显示与之匹配的整个字符串
  • 1 是显示第一个括号里面的
  • 2 是显示第二个括号里面的字段...

 

注意,在有些情况下要使用转义字符(双斜杠了‘\\’)。

 

select

regexp_extract('x=a3&x=18abc&x=2&y=3&x=4','x=([0-9]+)([a-z]+)',0),  -- x=18abc

regexp_extract('x=a3&x=18abc&x=2&y=3&x=4','^x=([a-z]+)([0-9]+)',0), -- x=a3

 

regexp_extract('https://detail.tmall.com/item.htm?spm=608.7065813.ne.1.Ni3rsN&id=522228774076&tracelog=fromnonactive','id=([0-9]+)',0),    -- id=522228774076

regexp_extract('https://detail.tmall.com/item.htm?spm=608.7065813.ne.1.Ni3rsN&id=522228774076&tracelog=fromnonactive','id=([0-9]+)',1),    -- 522228774076

 

regexp_extract('http://a.m.taobao.com/i41915173660.htm','i([0-9]+)',0),            -- i41915173660

regexp_extract('http://a.m.taobao.com/i41915173660.htm','i([0-9]+)',1)             -- 41915173660

 

select regexp_extract('hitdecisiondlist','(i)(.*?)(e)',0) ;

结果:itde

select regexp_extract('hitdecisiondlist','(i)(.*?)(e)',1) ;

结果:i

select regexp_extract('hitdecisiondlist','(i)(.*?)(e)',2) ;

结果:td

select regexp_extract('x=a3&x=18abc&x=2&y=3&x=4','x=([0-9]+)([a-z]+)',2) from default.dual;

结果:abc

 

 

 

 

 

 

 

 

 

 

 

 

  • 9
    点赞
  • 1
    评论
  • 27
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
©️2020 CSDN 皮肤主题: 撸撸猫 设计师:马嘣嘣 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值