您好,欢迎来到小侦探旅游网。
搜索
您的当前位置:首页hive正则表达式的用法

hive正则表达式的用法

来源:小侦探旅游网
hive正则表达式的⽤法

regexp_replace⽤法

1. 截取字符串中的汉字部分:

举个栗⼦:select regexp_replace('七⼣节comming!来啦','([^\\\一-\\\龥]+)','') from dual;结果:七⼣节来啦

2.截取字符串中的字母和数字部分:([^xyz] 不匹配这个集合中的任何⼀个字符)

举个栗⼦:select regexp_replace('wo爱你123CHINA中国!','([^a-zA-Z0-9]+)','') from dual结果:wo123CHINA

 3. 指明两项之间的⼀个选择。例⼦'([a-z]+|[0-9]+)$'表⽰所有⼩写字母或数字组合成的字符串。栗⼦:SELECT regexp_replace('七⼣节Coming666!','([a-z]+|[A-Z]+|[0-9]+)','') from dual

结果:七⼣节!

4. 匹配⼀个⾮字数字符(/D 等同于 [^0-9])

举个栗⼦1:select regexp_replace('我爱你123zhongguo666!','(\\\\D+)','') from dual结果:123666

regexp_extract⽤法(参数3取决于参数2()的数量,从0开始)

5. 截取字符串中的数字部分([xyz] 匹配这个集合中的任何⼀个字符)(/d 匹配⼀个字数字符) 举个栗⼦:select regexp_extract('七⼣节coming666','([0-9]+)',1) from dual or select regexp_extract('七⼣节coming666','(\\\\d+)',1) from dual结果:666

6.截取字符串中的字母部分

举个栗⼦:select regexp_extract('七⼣节Coming666','([a-zA-Z]+)',1) from dual;结果:Coming

另注意⼀种⽅法:()匹配汉字 (\\w) 表⽰匹配字母、下划线、数字例如:select regexp_extract('产险⼀级机构02','(\\\\W*)(\\\\w*)',1) from dual 结果:产险⼀级机构

例如:select regexp_extract('产险⼀级机构02','(\\\\W*)(\\\\w*)',2) from dual 结果:02

7 {n} 精确匹配n次

举栗⼦1:select regexp_extract('我爱你123zhongguo666!','(你)(.*?)(6)',0) from dual结果:你123zhongguo6

举栗⼦2:select regexp_extract('我爱你123zhongguo666!','(你)(.*?)(6)',1) from dual结果:你

举栗⼦3:select regexp_extract('我爱你123zhongguo666!','(你)(.*?)(6)',2) from dual结果:123zhongguo

举栗⼦4:select regexp_extract('我爱你123zhongguo666!','(你)(.*?)(6)',3) from dual结果:6

举个栗⼦2:select regexp_extract('152天内有67天⽆通话记录','([0-9]+)([^0-9]+)([0-9]+)',0) from dual 结果:152天内有67

举个栗⼦3:select regexp_extract('152天内有67天⽆通话记录','([0-9]+)([^0-9]+)([0-9]+)',1) from dual 结果:152

举个栗⼦4:select regexp_extract('152天内有67天⽆通话记录','([0-9]+)([^0-9]+)([0-9]+)',2) from dual 结果:天内有

举个栗⼦5:select regexp_extract('152天内有67天⽆通话记录','([0-9]+)([^0-9]+)([0-9]+)',3) from dual 结果:67

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- xiaozhentang.com 版权所有 湘ICP备2023022495号-4

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务