Здесь более полное регулярное выражение для обнаружения всех видов чисел в строке:
/ 0[bB][01]+
|0[xX][0-9a-fA-F]+
|[+-]?
(?:\d*\.\d+|\d+\.?)
(?:[eE][+-]?\d+)?
/ г;
binary | hex | sign? int/float exponential part?
const matchNumbers = /0[bB][01]+|0[xX][0-9a-fA-F]+|[+-]?(?:\d*\.\d+|\d+\.?)(?:[eE][+-]?\d+)?/g;
let str = `
Let -1
us +2.
start -3.3
and +.4
list -5e-5
some +6e6
number 0x12345
formats 0b10101
`;
console.log("the string", str);
const matches = str.match(matchNumbers);
console.log("the matches", matches);
const numbers = matches.map(Number);
console.log("the numbers", numbers);
.as-console-wrapper{top:0;max-height:100%!important}