正则表达式
1、初识1.1、纯数字提取1.2、带有小数点数字提取2、语法3、回首~掏4、参考Demo1、初识
1.1、纯数字提取
-- "提取123abc提取":提取当前字符当中的123-- 1.Hive:select regexp_replace('提取123abc提取','[^0-9]+','') "123"select regexp_replace('提取123abc提取','\D','')"提取123abc提取"-- 2.PG: 'g':global,全局替换select regexp_replace('提取123abc提取','[^0-9]+','','g' ) "123"select regexp_replace('提取123abc提取','\D','','g' ) "123"
1.2、带有小数点数字提取
-- "提取123.11abc提取":提取当前字符当中的123.11-- 1.Hive:小数或者整数数据提取select regexp_extract('提取123.11abc提取','[0-9]+([.]{1}[0-9]+){0,1}',0) "123.11"select regexp_extract('提取123abc提取','[0-9]+([.]{1}[0-9]+){0,1}',0) "123"-- 2.PG:select regexp_replace('提取123.11abc提取','[^\d.\d]','','g') "123.11"
2、语法
3、回首~掏
-- PG:regexp_match:匹配函数select regexp_match('会议事业部69.57%/','[\d.\d]{1,}')"{69.57}"select regexp_match('会议事业部69%57%/','[\d%\d]{1,}')"{69%57%}"-- 子表达式中:[\d.\d]:这时候:'.' 不再是匹配除"\r\n"之外的任何单个字符select regexp_match('会议事业部69%57%/','[\d.\d]{1,}')"{69}"
4、参考Demo
-- PostgreSQL正则表达使用/qq_22994783/article/details/82699559-- Hive常用正则表达式/developer/article/1538552