Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: re для командной строки

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Skipp
Отправлено: 25 Марта, 2011 - 14:27:25
Post Id


Новичок


Покинул форум
Сообщений всего: 27
Дата рег-ции: Март 2011  


Помог: 0 раз(а)




Привет всем. Мне нужна помощь, всю голову уже сломал, никак мне не даются эти регулярные выражения, аж голова лопается. Кому станет интересно, помогите пожалуйста.

Мне нужно сделать регулярк(у|и) для командной строки по типу cmd, вида:
command -параметр1 -параметр2 "строка1" "строка2" 'строка3(в других кавычках)' число число2
параметры, числа и строки могут быть в случайном порядке
при этом надо как-то аккуратно вытаскивать в переменную саму команду(ну это я сделал /^(\w+)\s/i , но если не сложно посмотрел бы на ваши примеры),
в массив вытащить все параметры, так же в другой массив вытащить все строки и сделать свой массив для числовых значений.

Помогите пожалуйста!!!

(Отредактировано автором: 25 Марта, 2011 - 14:38:20)

 
 Top
Champion Супермодератор
Отправлено: 25 Марта, 2011 - 21:09:49
Post Id



Активный участник


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


Помог: 57 раз(а)




/((?#command name)\w+)\s+((?#param list)(?:\w+(?:\s+|$)(?:"[^"]+"(?:\s+|$))?)+)/ - в первом элементе имя команды, во втором - список параметров.
Теперь парсим второй:
/(\w+)(?:\s+|$)(?:("[^"]+")(?:\s+|$))?+/ - первый элемент имя мараметра, второй - значение.

Функция preg_match_all
 
 Top
JustUserR
Отправлено: 25 Марта, 2011 - 21:27:18
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




Skipp пишет:
В массив вытащить все параметры, так же в другой массив вытащить все строки и сделать свой массив для числовых значений.
Для осуществления решения предполагаемой задачи, заключающейся в проведении анализа корректности целевых включенных элементов в информационное поле, ассоциированное с параметров определения командной строки для осуществления консольной инициализации целевого приложения, в общем случае необходимо обеспечение последовательностного анализа инегрированных элементов, с включением предшествующих действий по огранизации просмотра элементов в реверсивном направлении, а также осуществлении вариативного включения уровня базового элементного трактования, позволяющего обеспечивать модификацию локальных включенных синтаксических единиц в строковой форме


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Skipp
Отправлено: 29 Марта, 2011 - 09:10:58
Post Id


Новичок


Покинул форум
Сообщений всего: 27
Дата рег-ции: Март 2011  


Помог: 0 раз(а)




Спасибо за ответы!
Как смогу нажму кнопку спасибо)
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Регулярные выражения »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB