Hive 正则匹配函数 regexp_extract

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=a3regexp_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),    -- 522228774076regexp_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)             -- 41915173660from test.dual;

正则匹配字符解释:

  • ^ 表示开头
  • $ 表示结尾
  • . 表示任意字符
  • * 表示任意多个

2。手机号清洗:

regexp_replace(mobile,'[^0-9]','')    regexp '1[0-9]{10}'  返回true,则为好的手机号。

3。其他两个函数split 和 parse_url

也可以做简单的url 关键字提取, 如下

select 'xinli.ewt360.com/Psychology/Search?keyword=abc?语文数学123' url,split(split(lower('xinli.ewt360.com/Psychology/Search?keyword=abc?语文数学123/from'),'keyword=')[1],'/')[0]                              split1,  -- 结果: abc?语文数学123split(parse_url(concat('http://',lower('xinli.ewt360.com/Psychology/Search?keyword=abc?语文数学123/from')), 'QUERY','keyword'),'/')[0] parse_url1,regexp_extract(lower('xinli.ewt360.com/Psychology/Search?keyword=abc?语文数学123'),'keyword=(.+)',1),           -- 还未找到办法regexp_extract(lower('xinli.ewt360.com/Psychology/Search?keyword=语文数学'),'keyword=(^[\\u4e00-\\u9fa5]$)+')   -- 中文匹配,还未验证

4.  https://blog.csdn.net/lsr40/article/details/82223923  

posted on 2016-02-01 15:15 Suckseedeva 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/skyEva/p/5175377.html

Hive 正则匹配函数 regexp_extract相关推荐

  1. Hive 正则匹配函数 regexp_extract和 regexp_replace和rlike

    介绍一下主要的功能函数. 参考:https://www.jianshu.com/p/3bcc06b1294b regexp_extract 相当于python当中的re.search: 遍历匹配,仅可 ...

  2. hive正则匹配:regexp_replace、regexp_extract、regexp

    hive正则匹配:regexp_replace.regexp_extract.regexp 一.regexp语法介绍 regexp 语法: A REGEXP B 操作类型: strings 描述: 功 ...

  3. HIVE获取时间函数, regexp_extract正则提取用法

    Hive获取时间函数 regexp_replace(date_add(from_unixtime(unix_timestamp(), "yyyy-MM-dd") , -1), '- ...

  4. 常用JS正则匹配函数

    //校验用户名:只能输入1-30个字母 function isTrueName(s) { var patrn=/^[a-zA-Z]{1,30}$/; if (!patrn.exec(s)) retur ...

  5. php正则匹配函数字符串长度,PHP中preg_match函数正则匹配的字符串长度问题

    PHP中preg_match函数正则匹配的字符串长度问题 发布于 2015-10-25 10:24:29 | 166 次阅读 | 评论: 0 | 来源: 网友投递 PHP开源脚本语言PHP(外文名: ...

  6. javascript中的正则匹配函数exec(),test(),match()

    test() var str = "cat"; var reStr = /cat/; alert(reStr.test(str)); 输出为:true 它的返回值为true or ...

  7. HIVE正则匹配包含或者不包含多种可能的字符串

    -- 匹配包含多种可能字符串 select 'tttrylooji' regexp '^((?hel|try|fty).)*$'-- 匹配不包含多种可能字符串 select 'tttrylooji' ...

  8. Hive内置函数与常用函数汇总

    目录 Hive内置函数汇总 字符函数(字符串操作) 数学函数 集合函数 类型转换函数 日期函数 条件函数 聚合函数 表生成函数 辅助功能类函数 数据屏蔽函数(从Hive 2.1.0开始) Hive常用 ...

  9. php正则匹配反斜杠问题

    php正则匹配反斜杠问题: 之前做了一道题,发现php中正则匹配反斜杠好像有点问题. 我们先看下面代码: <?php$cmd = "\\";echo $cmd.PHP_EOL ...

最新文章

  1. 深度学习与计算机视觉系列(9)_串一串神经网络之动手实现小例子
  2. C#委托及事件 详解(讲得比较透彻)
  3. Spring Cloud【Finchley】实战-06使用/actuator/bus-refresh端点手动刷新配置 + 使用Spring Cloud Bus自动更新配置
  4. 电脑计算器的快捷键_牛!这份金蝶财务软件使用手册+超全快捷键汇总送你,财务收好...
  5. Quick-Cocos2d-x初学者游戏教程2
  6. asio定时器深度探析
  7. RAN adjusts schedule for 2nd wave of 5G specifications
  8. php获取对象属性值
  9. element ui border表头设置背景颜色
  10. FPGA 芯片被曝严重的 Starbleed 漏洞,影响数据中心IoT工业设备等
  11. 【李宏毅2020 ML/DL】P77 Generative Adversarial Network | Theory behind GAN
  12. 卡在linuxctrld进系统_Linux系统执行df -h命令卡死的解决方案
  13. Linux系统中设置静态ip地址
  14. Atitit jOrgChart的使用  组织架构图css html
  15. java自学能学会吗_Java自学能学会吗?Java新手学习路线
  16. 使用免费阿里云服务器搭建远程桌面服务
  17. 常用的默认端口号(HTTP\HTTPS\FTP)
  18. 线结构光平面方程自动标定
  19. 自适应滤波器(E 题 本科组)--2017 年全国大学生电子设计竞赛试题
  20. 复杂边坡的ansys三维建模

热门文章

  1. spring22:Aspectj实现环绕通知@Around
  2. 10.5 QQ 支持
  3. 十年web老兵整理的web前端文章
  4. Memcached实战之复制----基于repcached的主从
  5. [NOIP2006] 金明的预算方案
  6. 除了组件超配光伏效率还能如何提升?
  7. 数据显示,近半数人依然坚持在用 Windows 7
  8. 【递推DP】POJ1163The Triangle
  9. 15 - 使用 Fabric 自动化部署
  10. 关于layui-layer独立组件--弹出层