hive函数regexp_extract提取固定长度的数字信息(正则表达)

hive正则表达

regexp_extract(string subject, string regex_pattern, string index)

说明:抽取字符串subject中符合正则表达式regex_pattern的第index个部分的字符串

举例:
--取一个连续17位为数字的字符串,且两端为非数字
select regexp_extract('1、非订单号(20位):00123456789876543210;
                      2、订单号(17位):12345678987654321;
                      3、其它文字','[^\\d](\\d{17})[^\\d]',0) as s1
, substr(regexp_extract('1、非订单号(20位):01234567898765432100;
                      2、订单号(17位):12345678987654321;
                      3、其它文字','[^\\d](\\d{17})[^\\d]',0),2,17) as s2
,regexp_extract('1、非订单号(20位):00123456789876543210;
                      2、订单号(17位):12345678987654321;

                      3、其它文字','[^\\d](\\d{17})[^\\d]',1) as s3;


输出结果:



你可能感兴趣的:(Hive)