[Tutor] regex question
Wayne Werner
wayne at waynewerner.com
Sun Apr 8 23:26:45 CEST 2012
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::eaximi at gstwyysnbd.gov::1578951801-6-10 Sat Jul 31 15:17:39 1993::rzppg at wgxvhx.com::744121059-5-6 Mon Sep 21 20:22:37
> 1987::ttwqrf at rpybrct.edu::559243357-6-7 Fri Aug 2 07:15:23 1991::tjyp at mgfyitsks.net::681106523-4-9 Mon Mar 18 19:59:47 2024::dgzxmb at 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
More information about the Tutor
mailing list