Если вы используете exec
:
var myString = "20 fur bar 50";
var numberPositions = [];
var numberRe = /\d+/g;
for (var match; (match = numberRe.exec(myString));) {
numberPositions.push(
[numberRe.lastIndex - match[0].length, numberRe.lastIndex]);
}
, тогда numberPositions
- это массив начальных (включительно), конечных (эксклюзивных) пар:
[[0,2],[11,13]]
[0,2] - диапазон символов (исключающий конец) для 20
, а [11,13] - соответствующий диапазон для 50
.
Используемое регулярное выражение /\d+/
вместо /\d/
так что вместо получения отдельного диапазона для 2
и 0
вы получите один диапазон для целого числа.