Regular Expression help needed

R

Raju Alluri

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
 
D

Diogo Lisboa

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
 
E

Einar Magnús Boson

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


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

einarmagnus
 
M

Mark Thomas

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.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,776
Messages
2,569,603
Members
45,187
Latest member
RosaDemko

Latest Threads

Top