Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.02.19;
Скачать: CL | DM;

Вниз

Регулярное выражение.   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.043 c
15-1138300689
Sergey Masloff
2006-01-26 21:38
2006.02.19
Новое это хорошо забытое старое. "Новинки" книжного рынка


15-1138709234
Digitman
2006-01-31 15:07
2006.02.19
Разыскиваю человека. Москвичи, помогите в пределах возможного...


2-1138526331
начинающий5
2006-01-29 12:18
2006.02.19
RXLib


2-1138724227
dera
2006-01-31 19:17
2006.02.19
Такая вот проблемка...


15-1138439436
Rentgen
2006-01-28 12:10
2006.02.19
Табло, наподобие уличных монохромных экранов.