Gå til innhold

feil med regex til å matche emails


Anbefalte innlegg

Ut i fra http://iamcal.com/publish/articles/php/parsing_email prøver jeg å lage en emailvalidator, men uansett hvilke adresser jeg slenger til den, får jeg None tilbake. Noen som ser hva som er feil?

 

     
    def validMail(self, mail):
         '''
         check if the supplied mail is valid
         See http://iamcal.com/publish/articles/php/parsing_email
         '''
         addr_spec = ''.join(['([^\\x00-\\x20\\x22\\x28\\x29\\x2c\\x2e\\x3a-\\x3c',
         '\\x3e\\x40\\x5b-\\x5d\\x7f-\\xff]+|\\x22([^\\x0d',
         '\\x22\\x5c\\x80-\\xff]|\\x5c[\\x00-\\x7f])*\\x22)',
         '(\\x2e([^\\x00-\\x20\\x22\\x28\\x29\\x2c\\x2e',
         '\\x3a-\\x3c\\x3e\\x40\\x5b-\\x5d\\x7f-\\xff]+|',
         '\\x22([^\\x0d\\x22\\x5c\\x80-\\xff]|\\x5c\\x00',
         '-\\x7f)*\\x22))*\\x40([^\\x00-\\x20\\x22\\x28',
         '\\x29\\x2c\\x2e\\x3a-\\x3c\\x3e\\x40\\x5b-\\x5d',
         '\\x7f-\\xff]+|\\x5b([^\\x0d\\x5b-\\x5d\\x80-\\xff',
         ']|\\x5c[\\x00-\\x7f])*\\x5d)(\\x2e([^\\x00-\\x20',
         '\\x22\\x28\\x29\\x2c\\x2e\\x3a-\\x3c\\x3e\\x40',
         '\\x5b-\\x5d\\x7f-\\xff]+|\\x5b([^\\x0d\\x5b-',
         '\\x5d\\x80-\\xff]|\\x5c[\\x00-\\x7f])*\\x5d))*']);
         matchMail = '!^' + addr_spec +'$!'
         print matchMail, "\n"
         print re.match(matchMail, mail)

Lenke til kommentar
Videoannonse
Annonse

python har en egen modul for dette ( http://docs.python.org/lib/module-rfc822.html ), fannt et eksempel v.h.a. google:

 

import rfc822

file = open("sample.eml")

message = rfc822.Message(file)

print message.getdate("date")
print message.getaddr("from")
print message.getaddrlist("to")

 

Message-Id: <[email protected]>

Date: Tue, 14 Nov 2000 14:55:07 -0500

To: "Fredrik Lundh" <[email protected]>

From: Frank <frank@editor>

Subject: Re: python library book!

 

Where is it?

 

kanskje du greier å få noe ut av denne?

Endret av dayslepr
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...