#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"]
Комментариев нет:
Отправить комментарий