我有一个如下所示的字符串..我只想在(
之前提取所有数字,直到字符开始。
12XYXXX12345(XXYYZZ)
XXYY只是角色的占位符..
我可以使用下面的表达式在开括号(
之前提取数据。但我不知道如何单独提取数字。
^[^\(]*
答案 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
,然后执行正则表达式以匹配数字,然后组合所有匹配。