hive正则表达式

转载 2015年07月10日 14:43:43

hive中实现正则表达式,与java中的正则表达式有所区别:

这里经过探索总结了一些:

hive中的正则可以用,但是有所区别,区别在于原来的‘\’ 转义,这里变成了双斜杠了‘\\’

hive中的正则解析函数:regexp_extract;    例如:‘匹配 10.122.248’

select regexp_extract(host,'(^[\\w]+)\\.([\\w]+)\\.([\\w]+)',0) aa from browsewebpagelog where dt like '20140630%';

第一参数:要处理的字段,第二参数需要匹配的正则表达式,第三个参数:0是显示与之匹配的整个字符串,1,是显示第一个括号里面的,2是显示第二个括号里面的字段...

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

返回值: string

说明:将字符串subject按照pattern正则表达式的规则拆分,返回index指定的字符。注意,在有些情况下要使用转义字符

举例:

hive> select regexp_extract(‘foothebar’, ‘foo(.*?)(bar)’, 1) from dual;

the

hive> select regexp_extract(‘foothebar’, ‘foo(.*?)(bar)’, 2) from dual;

bar

hive> select regexp_extract(‘foothebar’, ‘foo(.*?)(bar)’, 0) from dual;

foothebar

注:有些博客上用 rlike匹配正则,我试过它的含义是只要出现你所制定的正则时,都给你匹配上,你必须添加开始‘^’的符号,否则匹配的结果绝对不是所期望的。

相关文章推荐

Hive(五)--正则表达式

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

Hive 正则表达式使用 与 匹配中文

1.regexp语法: A REGEXP B 描述: 功能与RLIKE相同 2.regexp_extract 3.regexp_replace
  • lovebyz
  • lovebyz
  • 2016年09月09日 10:51
  • 950

hive 正则表达式详解

hive中的正则表达式还是很强大的。数据工作者平时也离不开正则表达式。对此,特意做了个hive正则表达式的小结。所有代码都经过亲测,正常运行。1.regexp语法: A REGEXP B 操作类型:...

hive中的正则表达式

这几天,忙着做一些测试。昨天刚刚做了一个hive的小测试,但是hive中的正则表达式写法让我痛苦不已,这里记录下问题和一些想法。 背景: 前几天拿来apache日志,用hive的正则进行匹配,发现...

作业电影评分系统 HIVE实战 正则表达式(限于string)解决了HIVE 源文件多个分隔符的问题

root@master:/usr/local/hadoop-2.6.0/sbin# start-dfs.sh Starting namenodes on [master] master: starti...

转义字符\(在hive+shell以及java中注意事项):正则表达式的转义字符为双斜线,split函数解析也是正则

转义字符将后边的字符转义,各个语言中都用应用,如java、python、sql、hive、shell等等。 如sql中 "\"" "\'" "\...

JS正则表达式

  • 2017年10月29日 20:10
  • 3.63MB
  • 下载

输入必须是数字,非数字不能输入,正则表达式

应用办事项数:

正则表达式30分钟入门教程

  • 2017年11月03日 10:06
  • 364KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:hive正则表达式
举报原因:
原因补充:

(最多只允许输入30个字)