hive函数-regexp_extractd的例子
2016-03-02 10:47
295 查看
正则表达式解析函数:regexp_extract
语法: 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
提取IP地址:
regexp_extract(ip_address, '([^.]*)\.([^.]*)\.([^.]*)\.', 0 )
提取字符后面的字符串:
select regexp_extract('008600214091141 3|深圳市', '.*\\|(.*)', 1)
regexp_extract(‘asdf{asdfs{sdbdd}}’, '^([^\\{]{0,})\\{',1)
替换json分隔的逗号成别的分隔符
regexp_replace(regexp_extract(defined_head, '^[^\{]{0,}(\\{.*\\})[^\}]{0,}$', 1),',','\\#\\*\\#\\#')
语法: 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
提取IP地址:
regexp_extract(ip_address, '([^.]*)\.([^.]*)\.([^.]*)\.', 0 )
提取字符后面的字符串:
select regexp_extract('008600214091141 3|深圳市', '.*\\|(.*)', 1)
regexp_extract(‘asdf{asdfs{sdbdd}}’, '^([^\\{]{0,})\\{',1)
替换json分隔的逗号成别的分隔符
regexp_replace(regexp_extract(defined_head, '^[^\{]{0,}(\\{.*\\})[^\}]{0,}$', 1),',','\\#\\*\\#\\#')
相关文章推荐
- 【技术】 NSUserDefaults的使用
- c#获取当前代码运行的文件名、运行的函数名以及当前代码执行的行号
- 如何用系统命令sc修改系统服务
- js实现鼠标拖拽
- H3C交换机SSH配置举例
- spring小知识记载
- iOS实际网络检测框架RealReachability
- Android TTS 英文或中文(要下载中文支持包)转语音 使用TextToSpeech
- (转)WebApi自动生成在线文档WebApiTestClient
- java程序性能优化
- 【Xamarin挖墙脚系列:常用的Mac 命令】
- retrofit 错误解析
- The type java.lang.Object cannot be resolved.It is indirectly referenced from required .class files
- python版线段树
- rtsp 保存MP4
- Java序列化与反序列化
- iOS9 上支付宝AlipaySDK编译错误解决办法
- Viewbadger消息提醒的实现
- 在CentOS6.5上安装Tomcat7
- 正则表达式5-分组突击