项目github地址:bitcarmanlee easy-algorithm-interview-and-practice
欢迎大家star,留言,一起学习进步

hive中的正则表达式还是很强大的。数据工作者平时也离不开正则表达式。对此,特意做了个hive正则表达式的小结。所有代码都经过亲测,正常运行。

1.regexp

语法: A REGEXP B
操作类型: strings
描述: 功能与RLIKE相同

select count(*) from olap_b_dw_hotelorder_f where create_date_wid not regexp '\\d{8}'

与下面查询的效果是等效的:

select count(*) from olap_b_dw_hotelorder_f where create_date_wid not rlike '\\d{8}';

2.regexp_extract

语法: regexp_extract(string subject, string pattern, int index)
返回值: string
说明:将字符串subject按照pattern正则表达式的规则拆分,返回index指定的字符。

hive> select regexp_extract('IloveYou','I(.*?)(You)',1) from test1 limit 1;
Total jobs = 1
...
Total MapReduce CPU Time Spent: 7 seconds 340 msec
OK
love
Time taken: 28.067 seconds, Fetched: 1 row(s)
hive> select regexp_extract('IloveYou','I(.*?)(You)',2) from test1 limit 1;
Total jobs = 1
...
OK
You
Time taken: 26.067 seconds, Fetched: 1 row(s)
hive> select regexp_extract('IloveYou','(I)(.*?)(You)',1) from test1 limit 1;
Total jobs = 1
...
OK
I
Time taken: 26.057 seconds, Fetched: 1 row(s)
hive> select regexp_extract('IloveYou','(I)(.*?)(You)',0) from test1 limit 1;
Total jobs = 1
...
OK
IloveYou
Time taken: 28.06 seconds, Fetched: 1 row(s)
hive> select regexp_replace("IloveYou","You","") from test1 limit 1;
Total jobs = 1
...
OK
Ilove
Time taken: 26.063 seconds, Fetched: 1 row(s)

3.regexp_replace

语法: regexp_replace(string A, string B, string C)
返回值: string
说明:将字符串A中的符合java正则表达式B的部分替换为C。注意,在有些情况下要使用转义字符,类似oracle中的regexp_replace函数。

hive> select regexp_replace("IloveYou","You","") from test1 limit 1;
Total jobs = 1
...
OK
Ilove
Time taken: 26.063 seconds, Fetched: 1 row(s)
hive> select regexp_replace("IloveYou","You","lili") from test1 limit 1;
Total jobs = 1
...
OK
Ilovelili

参考链接:

  1. https://www.iteblog.com/archives/1639.html hive字符串处理函数,比较全

hive 正则表达式详解相关推荐

  1. JavaScript正则表达式详解(一)正则表达式入门

    JavaScript正则表达式是很多JavaScript开发人员比较头疼的事情,也很多人不愿意学习,只是必要的时候上网查一下就可以啦~本文中详细的把JavaScript正则表达式的用法进行了列表,希望 ...

  2. python面向对象编程的三大特性_Python面向对象总结及类与正则表达式详解

    Python3 面向对象 -------------------------------------------------------------------------------- 一丶面向对象 ...

  3. 菜鸟教程python正则表达式_python 正则表达式详解

    python 正则表达式详解 1. 正则表达式模式 模式描述 ^ 匹配字符串的开头 $ 匹配字符串的末尾. . 匹配任意字符,除了换行符,当re.DOTALL标记被指定时,则可以匹配包括换行符的任意字 ...

  4. JS正则表达式详解2

    JS的正则表达式详解 //校验是否全由数字组成 代码 function isDigit(s) { var patrn=/^[0-9]{1,20}$/; if (!patrn.exec(s)) retu ...

  5. linux下grep文件内容搜索工具及基本正则表达式详解

    linux下grep文件内容搜索工具及基本正则表达式详解 grep命令: 根据模式(文本字符和基本正则表达式的元字符组合而成之匹配条件)搜索文本, 并将符合模式的文本行显示出来. 格式:grep [选 ...

  6. python中正则表达式_Python中正则表达式详解

    正则表达式是用来简洁表达一组字符串的表达式,本文主要和大家分享Python 中正则表达式知识详解,希望能帮助到大家.操作符说明实例.表示任何单个字符 [ ]字符集,单个字符取值范围[abc]表示a或b ...

  7. java判断颜色合法_判断颜色是否合法的正则表达式(详解)

    判断颜色是否合法的正则表达式(详解) "^#([0-9a-fA-F]{6}|[0-9a-fA-F]{3})$"; 意思是:以#开头,后面是数字和a-f的字符(大写或小写),这个值是 ...

  8. java中的正则表达式详解

    转自:http://gstarwd.iteye.com/category/91108?show_full=true 想必很多人都对正则表达式都头疼.今天,我以我的认识,加上网上一些文章,希望用常人都可 ...

  9. php中正则表达式详解,php正则表达式详解

    php正则表达式详解 一.贪婪模式与非贪婪模式 贪婪模式:可以这样认为,就是在整个表达式匹配成功的前提下,尽可能多的匹配,也就是所谓的"贪婪",通俗点讲,就是看到想要的,有多少就捡 ...

  10. IPV4及IPV6正则表达式详解

    IPV4及IPV6正则表达式详解 一. 背景 二.实际应用情况 2.1 IPv4 2.1.1 IPv4说明 2.1.2 IPv4地址解析 2.1.3 IPv4正则表达式 2.2 IPv6 2.2.1 ...

最新文章

  1. Spring Cloud搭建微服务架构----使用Zipkin做服务链路追踪
  2. spring 通过编程来获取属性文件
  3. 手机号正则_这20个正则表达式,对你有大帮助,快来Make
  4. 阿里巴巴开发规范集合处理
  5. 字符指针与字符串变量的转换
  6. PHP在线SEO文章伪原创同义词交换工具源码
  7. 数据库alter用法总结
  8. S-DES加密与解密
  9. 两年质保,只此一加!一加9系列推出两年质保
  10. 2021牛客寒假算法基础集训营4,签到题AGJ
  11. 牛客网暑期ACM多校训练营7: C. Bit Compression(DFS+预处理)
  12. Oracle In子句
  13. linux dd copy all partitions,Linux 系统下使用dd命令备份还原MBR主引导记录
  14. 高斯分布函数c语言编程,c语言 写高斯分布函数
  15. MyBatis Review——多对多映射
  16. Python自然语言处理—停用词词典
  17. 工资管理系统【软件综合设计报告】
  18. 【财务篇】如何群发工资条?
  19. P7 黑客是如何发现女朋友出轨的,痛心的经历!
  20. 协同软件市场一盘散沙 春种能否秋收心中没底

热门文章

  1. Date实战案例:倒计时日历
  2. plusgantt的项目管理系统实战开发最全课程
  3. 谷歌招聘新职员的五大标准
  4. 玩转大数据系列之二:数据分析与处理
  5. windows 上面的tensorflow-GPU、cuda、cudnn 安装
  6. 云之讯-》返回码105147
  7. 高德地图入驻广州交警 实现“互联网+交通”无缝对接
  8. cisco5525防火墙***流量分离即***和nat并存的配置方式
  9. C#静态方法和非静态方法
  10. OOAD-设计模式-外观模式