Почему регулярное выражение получает значение дважды, используя «матч» в Javascript?

У меня есть следующий код:

var str = "$123";
var re = /(\$[0-9]+(\.[0-9]{2})?)/;
var found = str.match(re);

alert(found[1]);
alert(found[0]);

Я пытаюсь понять, почему found [0] и found [1] будут содержать $ 123. Почему он получает это дважды?

Я хотел бы получить все "потенциал» Цены только один, например, если у меня есть эта строка:

var str = "$123 $149 $150"; Это было бы:

found[0] = $123
found[1] = $149
found[2] = $150

И это все, найденный массив не будет иметь больше совпадений.

Что здесь происходит? Что мне не хватает?

Ответы на вопрос(3)

Ваш ответ на вопрос