Re: [Ruby] Помогите разобрать ..

Vladimir Zdorovenco sunwinder на gmail.com
Вс Янв 30 18:30:08 MSK 2005


Не совсем понял про zero-width рег. выражения.. Если можно подробнее.

Надо вытащить из то строки, ключ/значение вида:

КВ=[значение]; \w+=дата; \w+=путь
[] - значит что может и небыть

строка состоит из этих вот КВ, т.е:

Set-Cookie=КВ, КВ, КВ

я думал так, проще всего 

myhdr = 'GMAIL_AT=; Expires=Fri, 28-Jan-05 23:56:04 GMT; Path=/,
GMAIL_PREFS=; Expires=Fri, 28-Jan-05 23:56:04 GMT; Path=/, GV=;
Domain=gmail.google.com; Expires=Fri, 28-Jan-05 23:56:04 GMT; Path=/,
GV=; Domain=gmail.google.com; Expires=Fri, 28-Jan-05 23:56:04 GMT;
Path=/gmail, GX=; Expires=Fri, 28-Jan-05 23:56:04 GMT; Path=/gmail'

myhdr.split(/,/).each { |v|
        puts v
}

но получается билиберда потому-что автор net/http.rb делит запятой =)

Можно было в качестве разделителя успользовать  - ;; 

тогда такое могло сработать; собственно я так и сделал, поменял в
net/htto.rb запятую на ;;

On Sun, 30 Jan 2005 17:59:12 +0300, Тим Алексеевский <realtim на mail.ru> wrote:
> Привет
> 
> Vladimir Zdorovenco (Янв 30,  2:26):
> > ...
> > например с cookie получается:
> >
> > GMAIL_AT=; Expires=Fri, 28-Jan-05 23:56:04 GMT; Path=/, GMAIL_PREFS=;
> > Expires=Fri, 28-Jan-05 23:56:04 GMT; Path=/, GV=;
> > Domain=gmail.google.com; Expires=Fri, 28-Jan-05 23:56:04 GMT; Path=/,
> > GV=; Domain=gmail.google.com; Expires=Fri, 28-Jan-05 23:56:04 GMT;
> > Path=/gmail, GX=; Expires=Fri, 28-Jan-05 23:56:04 GMT; Path=/gmail
> >
> > Запятая может быть в дате; как такое разобрать ? 
>   Честно говоря я не очень понял задачу, но не копая глубоко, могу
>   поделиться своим впечатлением:
>   после ', ' в случае когда не дата идет /\w+=/, если это так, то
>   как-нибудь, хоть zero-width регулярными выражениями, хоть чем, это
>   разобрать удастся.
> 
>   Тим
> 
> --
> ++  "If the shoe fits, buy it." Imelda Marcos  ++
>                                                --
> 


-- 
Be happy, 
        Vovka

ICQ: 127534289


Подробная информация о списке рассылки Ruby