Форум: "Прочее";
Текущий архив: 2006.02.19;
Скачать: [xml.tar.bz2];
ВнизРегулярное выражение. Найти похожие ветки
← →
ferr © (2006-01-29 14:05) [0]Как можно найти последнее вхождение чего-либо?
Например:
"first 12.34 second 12.35 third 12.36 1234.37
"
мне надо извлечь число: "1234.37
"
чтобы извлечь всё, можно записать "-?\d+\.\d{2}
"
← →
vidiv © (2006-01-29 14:54) [1]/.*(-?\d+\.\d{2})/
В первой подмаске будет твое значение.
Или:
/-?\d+\.\d{2}$/ , но только если это действительно конец строки
← →
ferr © (2006-01-29 15:00) [2]Это не обязательно конец строки.
>/.*(-?\d+\.\d{2})/
> В первой подмаске будет твое значение.
не понятно, он так всю строку возвратит и всё.
← →
McSimm © (2006-01-29 15:15) [3]
> /.*(-?\d+\.\d{2})/
> В первой подмаске будет твое значение.
В любом случае правильно не будет
Зависит от "жадности". В одном случае при "нежадном" подходе .* заберет первое отсутствие символов, в другом, при "жадном" захватит все до последнего, и результат будет не 1234.37, а 4.37
← →
McSimm © (2006-01-29 15:17) [4]
> Это не обязательно конец строки.
если после последнего числа нет цифровых символов, то
/\D*(\d+\.\d{2})\D*$/
← →
McSimm © (2006-01-29 15:27) [5]про минус забыл
/\D*?(-?\d+\.\d{2})\D*$/
(первый вопрос заставляет ограничить жадность * чтобы мирнус не сьела)
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2006.02.19;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.055 c