Страницы

Поиск по вопросам

воскресенье, 15 марта 2020 г.

Не получается сделать правильный массив целых чисел и чисел с десятичными дробями

#php #html #jquery #регулярные_выражения


Всем привет. Вопрос по регулярным выражениям - есть строка

1 × 360.000 руб.


Я пробую из нее вытащить массив:

var quantity = $(".quantity").text().match(/\d+\.\d+/g)


получаю массив ["360.000"]
делаю вот так

var quantity = $(".quantity").text().match(/\d+/g)
match(/\d+/g)


Я получаю: ["1", "360", "000"]

Мне нужно получить ["1", "360.000"].

Что я делаю не правильно?
    


Ответы

Ответ 1



Необходимо поправить выражение вот так: var quantity = $(".quantity").text().match(/\d+(?:\.\d+)?/g) Объяснение: \d+ - 1 или более цифр (?:\.\d+)? - Необязательная группа, которая находит \. - точку \d+ - 1 или более цифр Если необходимо, можно добавить знаки + или -, но мне кажется, что это в Вашем случае не нужно. А вот как это выражение выглядит на рисунке: Демо на Debuggex В сети есть множество сервисов для расшифровки и отладки регулярных выражений, например вышеупомянутый Debuggex и Regex101. Пример кода: var quantity = $(".quantity").text().match(/\d+(?:\.\d+)?/g) console.log(quantity);
1 × 360.000 руб.
Результат: ["1", "360.000"]

Комментариев нет:

Отправить комментарий