>我有几个字符串
'delivery|1111111'
'order|22222222'
'smth else|3333333'
我需要提取 delivery|
或 order|
之后的第一个数字字符序列。
如果只是一个我做的
select regexp_extract('delivery|1111111|22222222', 'delivery\|(\d+)', 1);
并得到1111111
,但是当我尝试两者时
select regexp_extract('order|22222222|11111111', '(delivery\|(\d+)|order\|(\d+))', 1);
我得到order|22222222
.我该怎么做?
如果 Hive 正则表达式是 Java 正则表达式,请尝试以下正则表达式: (?:delivery|order)\|(\d+)
问题是您正在使用三个捕获组,并且您选择的组捕获整个字符串。