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