Модераторы: Aliance, skyboy, MoLeX, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Разбор строки 
V
    Опции темы
alligator
Дата 5.7.2006, 16:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 730
Регистрация: 28.1.2004

Репутация: нет
Всего: 1



Всем привет , помогите пожалуйста составить регулярку.....
есть строка:
17:24:46 up 12 days, 14:22,  1 user,  load average: 0.00, 0.00, 0.00
Из строки в массив нужно получить 
12 days
1   user
load average: 0.00, 0.00
Сделал только , дальше пробовал ни в какую не получалось =(
preg_match( "/up? ([\d:?]+)/i", $serverstats,$matches );
 
PM MAIL   Вверх
vasac
Дата 5.7.2006, 17:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1060
Регистрация: 4.5.2006

Репутация: 1
Всего: 36



Если это жесткий формат и нужно вытащить количество days и user или т.п., то здесь можно просто explode() разбить всю строку по пробелу. 3-й элемент — 12, 6-й — 1. 
PM WWW   Вверх
alligator
Дата 5.7.2006, 17:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 730
Регистрация: 28.1.2004

Репутация: нет
Всего: 1



Эти значения меняються , гораздо правильнее было бы сделать регуляркой 
PM MAIL   Вверх
vasac
Дата 5.7.2006, 19:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1060
Регистрация: 4.5.2006

Репутация: 1
Всего: 36



alligator, какие значения? Опиши формат исходной строки. 
PM WWW   Вверх
alligator
Дата 5.7.2006, 19:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 730
Регистрация: 28.1.2004

Репутация: нет
Всего: 1



формат в первом посте.....
Кстати через explode слишком просто =) хочеться что нить посложнее 
PM MAIL   Вверх
vasac
Дата 5.7.2006, 21:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1060
Регистрация: 4.5.2006

Репутация: 1
Всего: 36



Если как в первом, то explode пройдет.
А если поизвращаться хочется, то вот, например:
Код

/(?<=up\ )([^,]*)(?=,)/
 
PM WWW   Вверх
AztEK
Дата 6.7.2006, 12:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 723
Регистрация: 4.1.2005

Репутация: нет
Всего: 18



Не надо извращений и регулярок!

17:24:46 up 12 days, 14:22,  1 user,  load average: 0.00, 0.00, 0.00

Код

$data = sscanf('17:24:46 up %s, 14:22,  %s, %s', $days, $users, $load);
/*
$days = '12 days';
$users = '1   user';
$load = 'load average: 0.00, 0.00';
*/
  

Это сообщение отредактировал(а) AztEK - 6.7.2006, 12:38


--------------------
Linux is like wigwam -- no windows, no gates, apache inside.
PM MAIL Jabber   Вверх
vasac
Дата 6.7.2006, 13:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1060
Регистрация: 4.5.2006

Репутация: 1
Всего: 36



все гениальное, гениально... 
PM WWW   Вверх
alligator
Дата 6.7.2006, 15:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 730
Регистрация: 28.1.2004

Репутация: нет
Всего: 1



Енто точно , всем спасибо за помощь 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Тексты | Следующая тема »


 




[ Время генерации скрипта: 0.0570 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.