| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: Общие вопросы > регулярные выражения |
| Автор: study 13.1.2005, 12:03 |
| Народ подскажите регулярное выражение для такой строки: "Суммарный трафик: 550504", т.е. строка символов пробел число. |
| Автор: HalkaR 13.1.2005, 12:34 | ||
коли не глючу |
| Автор: Secandr 13.1.2005, 12:59 | ||
Если нужны только цифры, то достаточно:
|
| Автор: study 13.1.2005, 13:08 |
| а как мне разбить вот такую вот строку:"10.41.89.10 \t 10.41.90.5 \t 2004.12.22 10:07 \t 60" из неё надо извлечь только последнее значение, число и время, т.е. 2004.12.22 10:07 и 60, \t - табуляция |
| Автор: Secandr 13.1.2005, 13:21 |
| а чем тебе split не нравится. |
| Автор: study 13.1.2005, 13:26 |
| а что быстрее будет, split или регулярное выражение, файл большой, время - мало |
| Автор: HalkaR 13.1.2005, 14:46 |
| Собственно split и реализует регулярное выражение, просто в более удобной обертке. Но в твоем случае наверно лечше регулярка. |
| Автор: study 13.1.2005, 14:53 | ||
| Подскажите плз регулярное выражение для вот этой сторчки, что-то у меня не получаеться "10.41.89.10 \t 10.41.90.5 \t 2004.12.22 10:07 \t 60", я делаю так
может ошибся Добавлено @ 14:55 мне нужно из файла выбрать строчки, у которых определённое время, например, 10:07 |
| Автор: chaos 13.1.2005, 15:19 | ||||||
Для твоего примера
|
| Автор: study 13.1.2005, 15:27 |
| Привет chaos, а как мне получить значение 60 из этой строки (последнее значение) для определённой даты? строка "10.41.89.10 \t 10.41.90.5 \t 2004.12.22 10:07 \t 60", |
| Автор: chaos 14.1.2005, 08:26 | ||||
Если хочешь отбирать по дате и последнему числу то тебе подойдет следующее:
|
| Автор: study 14.1.2005, 10:01 |
| нет, chaos, мне надо по дате 2004.12.22 10:07, получить число 60, т.е. из строки в которой имееться соответствующая дата, точнее время, получить значение, последнего столбца. Спасибо большое за помощь. |
| Автор: chaos 14.1.2005, 11:04 | ||||
Тогда так:
|
| Автор: study 14.1.2005, 11:27 |
| Спасибо сейчас попробую. |
| Автор: dimes 14.1.2005, 12:05 | ||
Что это? Если ты сможеш объяснить формат построение таких строк мы сможеш тебе правильно помочь а пока... если cтрока не очень большая, дата и значение стоит в указанном порядке в конце строки, то возможно проще зделать так: my ($_value,$_date)=revece split("\t",$str); |
| Автор: study 14.1.2005, 12:38 |
| Формат строки такой, IP адрес, табуляция, ещё IP адрес, табуляция, дата, потом пробел, потом время, табуляция число(байты). Мне нужно из файла, по определённым значениям времени получить байты. |
| Автор: Secandr 14.1.2005, 13:16 | ||
|