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})';