替换模糊匹配正则-hive /*  匹配*/
-- like _单个字符 %任意字符+任意数量 true = 1 false = 0 [基于sql实现的接⼝]
-- rlike 基于java正则实现的接⼝
--语法:A,B 匹配返回true,否则返回false,当A,B为null时,返回null
--区别:like 通配符匹配的是整个列,⽐如helloworld就⽆法和’world’通配
--但是正则表达式则是在列值内进⾏匹配,helloworld就可以和’world’匹配返回TRUE
--操作类型: strings
--返回类型: boolean或null
select
'football'like'footba%'=1
,null rlike '[a-z]*'
,
'football' rlike null
,'helloworld'like'world'
,'helloworld' rlike 'world'
,'helloworld' regexp 'world'
-- rlike 和 regexp ⽤法相同
--操作类型: strings
--返回类型: boolean或null
select
'helloworld' rlike 'world'
,rlike('helloworld','world') =1
--语法: regexp_replace(string A, string B, string C)
-
-操作类型: string
--返回值: string正则匹配类型
--说明: 将字符串A中的符合java正则表达式B的部分替换为C。
select
regexp_replace('h234ney','\\d+','@')
,regexp_replace('h234ney','\\d','@')
--语法: regexp_extract(string A, string pattern, int index)
--返回值: string
--说明:将字符串A按照pattern正则表达式的规则拆分,返回index指定的字符,index从1开始计。
select regexp_extract('honeymoon', '([a-z]+)ym([a-z]+)', 0);
1

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。