Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Ruby > Regular Expression help needed

Reply
Thread Tools

Regular Expression help needed

 
 
Raju Alluri
Guest
Posts: n/a
 
      11-20-2008
Hi,
I have the following text as a string. Can someone tell me a way to
extract the Args array in to different key value pairs as listed in the
example ?

Request={Identities={ImmedCaller={Name=unknown,
SubjectID=abcd1:sid:00000000-0000-0000-0000-000000000000}},
Args=[{adpage=1, useragent=NORMAL, q=Digital Camera, adtest=off,
searchalias=aps, mkt=us, ch=all-product-search, nodeList=, lang=en,
adcount=a3b0c3, ip=110.155.15.777}], Service=WebSearchClientService,
Metadata={GUID=0Q1C11GKER2MEDM5RQDY, Domain=prod,
Host=woe-us-preprod-gp-5106.iad5.xyz.com, AppVersion=*, UserName=nobody,
ClientExit=/gp/search/construct-application-context.mi
[retail]:.SECOND_PREPARE, ProcessID=23480, TTL=1.0, Sandbox=*,
Priority=1.0, DeploymentID=70026525, EnvName=RetailWebsite/US,
DepartureTimestamp=Mon Nov 10 17:30:58 GMT 2008, Realm=USXYz,
AppName=gurupa, ClientEntry=/gp/search},
Shared={sessionID=nNo5yA.xUpGCpgbhuaVn8zG2xXM_,
clientID=168v1upXnQTYihGa9iDnty-o9z4_,
sessionIDPlain=176-2496192-6342626, customerIDPlain=A2LOKEDOEV0ZP5,
customerID=MHuB7vXfQZbKXH9-U7M7ZZfvy3Q_,
clientIDPlain=189-5451931-2768662}, Method=WebSearch}

eg:
adpage=1
useragent=NORMAL
q=Digital Camera
adtest=off
mkt=us
ch=all-product-search
adcount=a3b0c3


Thanks in Advance.
Raju
--
Posted via http://www.ruby-forum.com/.

 
Reply With Quote
 
 
 
 
Diogo Lisboa
Guest
Posts: n/a
 
      11-20-2008
On Thu, Nov 20, 2008 at 6:34 PM, Raju Alluri <(E-Mail Removed)> wrote:
> Hi,
> I have the following text as a string. Can someone tell me a way to
> extract the Args array in to different key value pairs as listed in the
> example ?
>
> Request={Identities={ImmedCaller={Name=unknown,
> SubjectID=abcd1:sid:00000000-0000-0000-0000-000000000000}},
> Args=[{adpage=1, useragent=NORMAL, q=Digital Camera, adtest=off,
> searchalias=aps, mkt=us, ch=all-product-search, nodeList=, lang=en,
> adcount=a3b0c3, ip=110.155.15.777}], Service=WebSearchClientService,
> Metadata={GUID=0Q1C11GKER2MEDM5RQDY, Domain=prod,
> Host=woe-us-preprod-gp-5106.iad5.xyz.com, AppVersion=*, UserName=nobody,
> ClientExit=/gp/search/construct-application-context.mi
> [retail]:.SECOND_PREPARE, ProcessID=23480, TTL=1.0, Sandbox=*,
> Priority=1.0, DeploymentID=70026525, EnvName=RetailWebsite/US,
> DepartureTimestamp=Mon Nov 10 17:30:58 GMT 2008, Realm=USXYz,
> AppName=gurupa, ClientEntry=/gp/search},
> Shared={sessionID=nNo5yA.xUpGCpgbhuaVn8zG2xXM_,
> clientID=168v1upXnQTYihGa9iDnty-o9z4_,
> sessionIDPlain=176-2496192-6342626, customerIDPlain=A2LOKEDOEV0ZP5,
> customerID=MHuB7vXfQZbKXH9-U7M7ZZfvy3Q_,
> clientIDPlain=189-5451931-2768662}, Method=WebSearch}
>
> eg:
> adpage=1
> useragent=NORMAL
> q=Digital Camera
> adtest=off
> mkt=us
> ch=all-product-search
> adcount=a3b0c3
>


Not too pretty but gets the job done:

str =~ /Args=\[\{(.*)\}\]/
hash = Hash[*$1.gsub(', ',',').split(/[,=]/)]


Diogo

 
Reply With Quote
 
 
 
 
Einar Magnús Boson
Guest
Posts: n/a
 
      11-21-2008


On 20.11.2008, at 20:34 , Raju Alluri wrote:

> Hi,
> I have the following text as a string. Can someone tell me a way to
> extract the Args array in to different key value pairs as listed in
> the
> example ?
>
> Request={Identities={ImmedCaller={Name=unknown,
> SubjectID=abcd1:sid:00000000-0000-0000-0000-000000000000}},
> Args=[{adpage=1, useragent=NORMAL, q=Digital Camera, adtest=off,
> searchalias=aps, mkt=us, ch=all-product-search, nodeList=, lang=en,
> adcount=a3b0c3, ip=110.155.15.777}], Service=WebSearchClientService,
> Metadata={GUID=0Q1C11GKER2MEDM5RQDY, Domain=prod,
> Host=woe-us-preprod-gp-5106.iad5.xyz.com, AppVersion=*,
> UserName=nobody,
> ClientExit=/gp/search/construct-application-context.mi
> [retail]:.SECOND_PREPARE, ProcessID=23480, TTL=1.0, Sandbox=*,
> Priority=1.0, DeploymentID=70026525, EnvName=RetailWebsite/US,
> DepartureTimestamp=Mon Nov 10 17:30:58 GMT 2008, Realm=USXYz,
> AppName=gurupa, ClientEntry=/gp/search},
> Shared={sessionID=nNo5yA.xUpGCpgbhuaVn8zG2xXM_,
> clientID=168v1upXnQTYihGa9iDnty-o9z4_,
> sessionIDPlain=176-2496192-6342626, customerIDPlain=A2LOKEDOEV0ZP5,
> customerID=MHuB7vXfQZbKXH9-U7M7ZZfvy3Q_,
> clientIDPlain=189-5451931-2768662}, Method=WebSearch}
>
> eg:
> adpage=1
> useragent=NORMAL
> q=Digital Camera
> adtest=off
> mkt=us
> ch=all-product-search
> adcount=a3b0c3
>
>
> Thanks in Advance.
> Raju
> --
> Posted via http://www.ruby-forum.com/.
>



hash = {}
data.match(/Args=\[(\{[^}]*)/)[1].scan(/(\w+)=([^,]*)/) do |key, val|
hash[key] = val
end

einarmagnus




 
Reply With Quote
 
Mark Thomas
Guest
Posts: n/a
 
      11-21-2008
It's obviously some sort of object serialization format. I can't tell
exactly which format though. Do you have access to the code that
created it? There's a chance you'd be able to import it directly into
a data structure.

-- Mark.
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Regular Expression - Help needed ragz_82 Java 1 08-04-2009 07:59 AM
Regular expression - help needed Chanchal Java 1 12-13-2005 07:24 AM
quick help needed on regular expression validator David Cho ASP .Net 4 02-15-2005 09:47 AM
Help needed: cryptic perl regular expression in python syntax pekka niiranen Python 5 10-20-2004 12:39 PM
Dynamically changing the regular expression of Regular Expression validator VSK ASP .Net 2 08-24-2003 02:47 PM



Advertisments