hive 常用正则表达式

  • 2019 年 11 月 13 日
  • 筆記

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/jxq0816/article/details/103033674

1、经纬度判断

SELECT regexp('60.054845,30.324694','^([1-9]\d*\.\d*|0\.\d*[1-9]\d*){1}\,([1-9]\d*\.\d*|0\.\d*[1-9]\d*){1}$')

2、小数or整数数据提取

 regexp_extract('4个2.0GHz','[0-9]+([.]{1}[0-9]+){0,1}',0);

3、URL去参数

select regexp_extract('http://tool.chinaz.com/regex','(.*)/$',1);  或  select CONCAT(parse_url(wap_url, 'PROTOCOL'),'://',parse_url(wap_url, 'HOST'),parse_url(wap_url, 'PATH'))

4、提取版本号

select regexp_extract('android 9.1.0','[0-9]+(.[0-9]+)*',0)

5、正则判断IP是否合法

正则解释:https://xingqijiang.blog.csdn.net/article/details/102478927

select '61.135.152.137' regexp '^((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})(\.((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})){3}$';  select '2400:89c0:6000:2:643f:b740:28e3:df35' regexp '([a-zA-Z0-9]{1,4}(\:[a-zA-Z0-9]{1,4}){7})';