URL-запрос после decodeURIComponent
и split()
выглядит так: ["pcs_availability:Online", "price:[1500 TO 1999.99]"]
результаты, которые я ищу, возвращают массив с правильным целым числом, например [1999.99]
. Но в строке запроса URL может быть больше одного ценового диапазона, например ["pcs_availability:Online", "price:[250 TO 499.99]:[500 TO 999.99]:[1500 TO 1999.99]"]
. Что должно вернуть [499.99, 999.99, 1999.99]
. Я забыл упомянуть, что расположение цен в массиве могло отличаться в зависимости от других URL-запросов. Так что не всегда можно гарантировать, что он будет в одном и том же месте.
Это был выбранный подход.
const pattern = /^price:{1,2}\[.*? TO (.*)]$/;
const price = query
.map(q => {
const match = pattern.exec(q);
return match;
});
Что возвращает это. Я попытался изменить регулярное выражение, но, к сожалению, мне не удалось получить результаты, которые я ищу.
["price:[250 TO 499.99]:[500 TO 999.99]:[1500 TO 1999.99]", "1999.99", index: 0, input: "price:[250 TO 499.99]:[500 TO 999.99]:[1500 TO 1999.99]", groups: undefined]