Hive 正则表达式 判断字符串是否是数字(整数)

正确的是:

 SELECT  '123456' rlike '^\\d+$';--true,前面需要是两个\\,后面的$必须要带

错误的是:

SELECT '1234sdc' regexp '^[0-9]+' ; --true

---------------------------------------------------------

SELECT '1234sdc' regexp '^[0-9]+' ; --true

SELECT '1234sdc' regexp '[0-9]+' ; -- true

SELECT 'sdc' regexp '[0-9]+' ; -- false

SELECT '1234sdc' regexp '([0-9]+)+' ; -- true

SELECT '123sdc' regexp '[0-9]+$' ; -- false

SELECT '123sdc4567' regexp '[0-9]+$' ; -- true

SELECT '1234sdc' rlike '[0-9]+([.]{1}[0-9]+){0,1}' ;  -- true

SELECT  '123456' rlike '^\\d+$';--true

SELECT  '123456dscs' rlike '^\\d+$';--false

SELECT  '|123456' rlike '^\\d+$';--false

SELECT  '12$3456' rlike '^\\d+$';--false

SELECT  '12dsc3456' rlike '^\\d+$';--false
  
SELECT  '12dsc3456' rlike '^\\d+';--true

select '' rlike '^\\d+$'; --false

select NULL rlike '^\\d+$'; --NULL

select null rlike '^\\d+$'; --NULL

select '101754088|100942309|10034488|10026828|110547601' rlike '^\\d+$'; --false

select '101754088|100942309|10034488|10026828|110547601' rlike '^\d+$'; --false

SELECT  '123456' rlike '^\d+$';--false

^\d+(\.\d+)?

^ 定义了以什么开始

\d+ 匹配一个或多个数字

? 设置括号内的选项是可选的

\. 匹配 "."

可以匹配的实例:"5", "1.5" 和 "2.21"。

 参考:java正则表达式https://www.runoob.com/java/java-regular-expressions.html

hive常用正则表达式https://blog.csdn.net/jxq0816/article/details/103033674

你可能感兴趣的:(Hive)