Я сделал приведение из строки в число, если вам не нужно, то удалите .map(Number)
Смотри утверждения, что оно доступно в спецификации ECMA-262
const data = 'VOO2.1315$262.67$86.88$559.88DIS1.94733$104.45$27.77$203.40IWM1.07511$122.55$14.98$131.75DAL5$24.04-$44.26$120.19XOM2$42.46-$18.40$84.92VYM1$77.59$7.15$77.59SBUX1.19403$76.64$15.12$91.51';
const regex = /(?<=[a-z])\d+\.\d+(?=\$)/gi;
const numbers = data
.match(regex)
.map(Number);
console.log(numbers);
Старые браузеры не делают Поддержка просмотра в регулярном выражении JavaScript. Вы должны использовать два регулярных выражения
const data = 'VOO2.1315$262.67$86.88$559.88DIS1.94733$104.45$27.77$203.40IWM1.07511$122.55$14.98$131.75DAL5$24.04-$44.26$120.19XOM2$42.46-$18.40$84.92VYM1$77.59$7.15$77.59SBUX1.19403$76.64$15.12$91.51';
const regex = /[a-z](\d+\.\d+)\$/gi;
const numbers = data
.match(regex)
.map(item => item.match(/\d+\.\d+/))
// or you can use slice instead of regex
// .map(item => item.slice(1, -1))
.map(Number);
console.log(numbers);
вывод:
Array(25) [ 2.1315, 1.94733, 1.07511 1.19403 ]