Russian Qt Forum

Программирование => Общий => Тема начата: developer от Апрель 21, 2009, 23:15



Название: Проблема с regex
Отправлено: developer от Апрель 21, 2009, 23:15
Может кто-нибуть сталкивался со следующей проблемой. Есть строка "create_db_alias alias_name user='user_name' password='password' host='host'"
Нужно с помощью одного regex обязательно найти три опции(user, password, host) и их значения, причем если хотя б одна из опций не существует, то ничего не возвращать(то-есть regex не должен срабатывать).


Название: Re: Проблема с regex
Отправлено: Admin от Апрель 22, 2009, 11:11
Для меня регэксп это ступор на 2-3 дня  ;D

Но есть уникальная программа в Linux

kregexpeditor


Визуально строит всякие мерзопакостные регэкспы) Очень помогает.


Название: Re: Проблема с regex
Отправлено: developer от Апрель 22, 2009, 16:06
Ну и на етом тоже спасибо  :) :) :)


Название: Re: Проблема с regex
Отправлено: Авварон от Апрель 22, 2009, 21:10
делал недавно такое на .НЕТе, там это называется вроде группы или как-то так... что-то типа (?<name>\\w+) завтра буду на работе, не забуду - гляну точный код


Название: Re: Проблема с regex
Отправлено: Tonal от Апрель 23, 2009, 07:20
Данных таки однако мало. Например, можно так:
Код:
rx = ".* user='([^']+)' password='([^']+)' host='([^']+)'"
Ну и в зависимости от вариаций этот регексп апгрейдить. Например учесть возможность пробелов перед и после знака равенства... :)

Вообще-то, я совсем не понимаю эти стенания по поводу регэкспов.
Нам тут понадобилось кучу регекспов написать, так у меня сынка выучил их за 2-3 дня (10ый класс) и потом писал вполне грамотные.
До этого специально проганьем не занимался. :)