Pogledajte određenu poruku
Staro 27. 04. 2011.   #7
jablan
VD IT Direktora
Invented the damn thing
 
Avatar jablan
 
Datum učlanjenja: 08.06.2005
Lokacija: Beograd
Poruke: 2.118
Hvala: 503
1.307 "Hvala" u 282 poruka
jablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamen
Default

Evo ako može da pomogne za početak:

Kôd:
def parse_query s
  s.scan(/((\S+)\:\s?)?([+-])?(("(.+?)")|(\S+))/).map{|match|
    Hash[
      [nil, :prefix, :plusminus, nil, nil, :phrase, :word].zip(match).select(&:all?)
    ]
  }
end

p parse_query 'foo +bar -baz "dev pro talk" site:devprotalk.com category:cat1'
vraća

Kôd:
[
  {:word=>"foo"},
  {:plusminus=>"+", :word=>"bar"},
  {:plusminus=>"-", :word=>"baz"},
  {:phrase=>"dev pro talk"},
  {:prefix=>"site", :word=>"devprotalk.com"},
  {:prefix=>"category", :word=>"cat1"}
]
http://ideone.com/oRMg5
__________________
blog

Poslednja izmena od jablan : 27. 04. 2011. u 14:42. Razlog: manja ispravka
jablan je offline   Odgovorite uz citat