[Tutor] regex question

kaifeng jin jkfbupt at gmail.com
Mon Apr 9 06:09:05 CEST 2012


I think you can do this:
a=[]
b=redata.split('::')
for e in b:
    if e.find('@') != -1:
        a.append(e.split('@')[1])

list a includes all the domain

在 2012年4月9日 上午5:26,Wayne Werner <wayne at waynewerner.com>写道:

> 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
>
> _______________________________________________
> Tutor maillist  -  Tutor at python.org
> To unsubscribe or change subscription options:
> http://mail.python.org/mailman/listinfo/tutor
>
>


-- 
twitter:@zybest <https://twitter.com/#!/zybest>
新浪微博:@爱子悦 <http://www.weibo.com/zybest>
在openshift上搭建wordpress:http://blog-mking.rhcloud.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/tutor/attachments/20120409/19875069/attachment-0001.html>


More information about the Tutor mailing list