On Fri, 6 Apr 2012, Khalid Al-Ghamdi wrote:

hi all,
I'm trying to extract the domain in the following string. Why doesn't my 
pattern (patt) work:

>>> redata
'Tue Jan 14 00:43:21 2020::eax...@gstwyysnbd.gov::1578951801-6-10 Sat Jul 31 
15:17:39 1993::rz...@wgxvhx.com::744121059-5-6 Mon Sep 21 20:22:37
1987::ttw...@rpybrct.edu::559243357-6-7 Fri Aug  2 07:15:23 
1991::t...@mgfyitsks.net::681106523-4-9 Mon Mar 18 19:59:47 
2024::dgz...@fhyykji.org::1710781187-6-7 '
>>> patt=r'\w+\.\w{3}(?<=@)'
>>> re.findall(patt,redata)
[]

This pattern works but the first should, too. shouldn't it?

The all too familiar quote looks like it applies here: "Often programmers, when faced with a problem, think 'Aha! I'll use a regex!'. Now you have two problems."

It looks like you could easily split this string with redata.split('::') and then look at every second element in the list and split *that* element on the last '.' in the string.

With data as well-formed as this, regex is probably overkill.

HTH,
Wayne
_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to