nkr1pt
nkr1pt

Reputation: 4666

Python regex group clarification

I have 0 experience with python, very little with regex and I'm trying to figure out what this small snippet of python regex would give back from a http response header Set-Cookie entry:

REGEX_COOKIE = '([A-Z]+=[^;]+;)'
resp = urllib2.urlopen(req)
re.search(REGEX_COOKIE, resp.info()['Set-Cookie']).group(1)

Can one give a simple example of a Set-Cookie value and explain what this would match on + return?

Regards

Upvotes: 1

Views: 467

Answers (1)

Mark Byers
Mark Byers

Reputation: 838116

A Set-Cookie is a list of name value pairs, separated with semi-colons:

HTTP/1.1 200 OK
Content-type: text/html
Set-Cookie: RMID=732423sdfs73242; expires=Fri, 31-Dec-2010 23:59:59 GMT

(content of page)

The regular expression matches the name, the equals sign, and the value up to the first semi-colon - in this case: RMID=732423sdfs73242;. In other words, it reads the first name-value pair. Note that it won't work if there is only a single name-value pair which is not followed by a semi-colon.

Upvotes: 4

Related Questions