替换&模糊匹配&正则-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

posted @   学而不思则罔!  阅读(854)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· SpringCloud带你走进微服务的世界
点击右上角即可分享
微信分享提示