正则表达式在括号前提取数字

时间:2017-03-22 11:26:11

标签: regex hive hiveql

我有一个如下所示的字符串..我只想在(之前提取所有数字,直到字符开始。

12XYXXX12345(XXYYZZ)

XXYY只是角色的占位符..

我可以使用下面的表达式在开括号(之前提取数据。但我不知道如何单独提取数字。

^[^\(]*

2 个答案:

答案 0 :(得分:1)

hive> select regexp_extract ('12XYXXX12345(XXYYZZ)','\\d+(?=\\()',0);
OK
12345

OR

hive> select regexp_extract ('12XYXXX12345(XXYYZZ)','(\\d+)\\(',1);
OK
12345

答案 1 :(得分:0)



var x = "12XYXXX12345(XXYYZZ)";
console.log(x.match(/^[^\(]*/)[0].match(/\d/g).join(""));




代码首先获得12XYXXX12345,然后执行正则表达式以匹配数字,然后组合所有匹配。