Re: [Python] controllo della data
Un ringraziamento a voi che avete risposto e in modo simpatico vi siete confrontati, mi è piaciuta la battuta sul codice +- pythonico. Circa Marco Beri, ho per le mani proprio un tuo libro Python pocket della Apogeo. Alla fine mi pare di aver capito che il codice che andrebbe usato è from datetime import datetime input = '10/12/1977' try: result = datetime.strptime(input, '%d/%m/%Y') except ValueError: result = None Bene, l'ho provato e funziona; ora lo devo raccordare col codice che avevo già disposto e quindi la prima riga va messa in cima al listato, poi creo una def con le righe di cui sopra alla quale passo la data ricevuta da tastiera e valuterò la risposta in result: se None la data è sbagliata e va reinserita con un While e non con un goto di Commodoresca memoria (chi ha qualche anno sulle spalle capirà!) Un grazie a tutti voi, al prossio dubbio. Ciao Messaggio originale Da: python-requ...@lists.python.it Data: 28/07/2012 22.40 A: python@lists.python.it Ogg: Digest di Python, Volume 77, Numero 37 Invia le richieste di iscrizione alla lista Python all'indirizzo python@lists.python.it Per iscriverti o cancellarti attraverso il web, visita http://lists.python.it/mailman/listinfo/python oppure, via email, manda un messaggio con oggetto `help' all'indirizzo python-requ...@lists.python.it Puoi contattare la persona che gestisce la lista all'indirizzo python-ow...@lists.python.it Se rispondi a questo messaggio, per favore edita la linea dell'oggetto in modo che sia più utile di un semplice Re: Contenuti del digest della lista Python... Argomenti del Giorno: 1. Re: controllo della data (Giorgio Zoppi) 2. Re: controllo della data (Nicola Larosa) 3. Re: controllo della data (Andrea Francia) 4. Re: controllo della data (Daniele Varrazzo) 5. Re: controllo della data (Alberto Granzotto) 6. Re: controllo della data (Giorgio Zoppi) 7. Re: controllo della data (Daniele Varrazzo) -- Message: 1 Date: Sat, 28 Jul 2012 20:49:26 +0200 From: Giorgio Zoppi giorgio.zo...@gmail.com To: Discussioni generali sul linguaggio Python python@lists.python.it Subject: Re: [Python] controllo della data Message-ID: CAHW5Hkqwz9P4BPXVmYO79721Lkm1E3URsxkBN6vN9=bp4_f...@mail.gmail.com Content-Type: text/plain; charset=ISO-8859-1 Marco compariamo RegExp: import re date = 01/02/1988 checkdate =^(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.](19|20)\d\d obj = re.compile(checkdate) if (re.match(date)): print 'Valid date' Datetime from datetime import datetime date = '10/12/1977' input = date.replace(/,) result = None format = ['%d%m%Y'] try: result = datetime.strptime(input, format) except: pass if (result): print Validate Il secondo e' piu pythonico...ma lungo. Hai altre opzioni? -- Message: 2 Date: Sat, 28 Jul 2012 20:58:18 +0200 From: Nicola Larosa n...@teknico.net To: Discussioni generali sul linguaggio Python python@lists.python.it Subject: Re: [Python] controllo della data Message-ID: 5014364a.5000...@teknico.net Content-Type: text/plain; charset=UTF-8 Giorgio Zoppi wrote: except: pass Tu andrai all'inferno per questo, lo sai sì? Il secondo e' piu pythonico... Se 'sta roba è pythonica, io sono Mastro Geppetto. -- Nicola Larosa - http://www.tekNico.net/ Most women experimentally are bisexual. If you give testosterone shots to heterosexual men they become more obsessed with women. If you give it to gay men they become more obsessed with men, to lesbians they become more obsessed with women. If you give the same shot to a heterosexual woman she becomes more obsessed with everybody. - Christopher Ryan, March 2012 -- Message: 3 Date: Sat, 28 Jul 2012 21:11:42 +0200 From: Andrea Francia and...@andreafrancia.it To: Discussioni generali sul linguaggio Python python@lists.python.it Subject: Re: [Python] controllo della data Message-ID: caoaxvrk_hzte8aj9odc9vmpcpqa2rzkdrahyy7v09gkhxkx...@mail.gmail.com Content-Type: text/plain; charset=utf-8 On Sat, Jul 28, 2012 at 8:49 PM, Giorgio Zoppi giorgio.zoppi@gmail. comwrote: Datetime from datetime import datetime date = '10/12/1977' input = date.replace(/,) result = None format = ['%d%m%Y'] try: result = datetime.strptime(input, format) except: pass if (result): print Validate A parte l'uso scorretto delle eccezioni questa non é una validazione corretta. Accetterebbe anche 101/2/1977 come data valida e lo convertirebbe (credo) a 10/12/1977. Ciao -- Andrea Francia http://andreafrancia.it -- parte successiva -- Un allegato HTML è stato rimosso... URL: http://lists.python. it/pipermail/python/attachments/20120728/560cd00f/attachment-0001.html -- Message: 4 Date: Sat, 28 Jul 2012 20:28:06 +0100 From: Daniele
Re: [Python] controllo della data
se non sbaglio la data avra un formato. Supponi che il formato sia 02/04/1980 basta una esperessione regolare e hai risolto, guardati il modulo di espressioni regolari e l'ottimo Regular Expression Howto. Il 28 luglio 2012 08:53, infs...@libero.it infs...@libero.it ha scritto: Salve, da una settimana sto smanettando con Python e ho una marea di domande. Comincio con la prima, le altre strada facendo. Esiste in Python un modo per controllare una data immessa da input (es. data=raw_input ('immetti data') )? Per ora me la sto cavando con il sezionamento della data in parti e controllare ciascuna parte con delle if. Ma anche qui ho un problema, come si fa in caso di errore a ritornare alla riga di input (qualcosa tipo resume o go to). Tante grazie NSantini ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python -- Quiero ser el rayo de sol que cada día te despierta para hacerte respirar y vivir en me. Favola -Moda. ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] controllo della data
2012/7/28 Giorgio Zoppi giorgio.zo...@gmail.com se non sbaglio la data avra un formato. Supponi che il formato sia 02/04/1980 basta una esperessione regolare e hai risolto, guardati il modulo di espressioni regolari e l'ottimo Regular Expression Howto. import datetime datetime.datetime.strptime('02/04/1980', '%d/%m/%Y') datetime.datetime(1980, 4, 2, 0, 0) ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] controllo della data
2012/7/28 Giorgio Zoppi giorgio.zo...@gmail.com se non sbaglio la data avra un formato. Supponi che il formato sia 02/04/1980 basta una esperessione regolare e hai risolto, guardati il modulo di espressioni regolari e l'ottimo Regular Expression Howto. Eh, non è esattamente la soluzione migliore. Sembri me stesso quando, agli arbori, programmando in C (stiamo parlando del 1985!), siccome avevo letto solo il KC, mi riscrissi tutte le funzioni strcpy, strcat, ecc. :-) La documentazione che NSantini deve leggere è quella del modulo datetime. Per quanto riguarda la domanda sul goto glissiamo... Io ci metterei un loop tipo: while not data_ok: Ciao. Marco. -- http://beri.it/ - Un blog http://beri.it/i-miei-libri/ - Qualche libro ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] controllo della data
Giorgio Zoppi wrote: except: pass Tu andrai all'inferno per questo, lo sai sì? Il secondo e' piu pythonico... Se 'sta roba è pythonica, io sono Mastro Geppetto. -- Nicola Larosa - http://www.tekNico.net/ Most women experimentally are bisexual. If you give testosterone shots to heterosexual men they become more obsessed with women. If you give it to gay men they become more obsessed with men, to lesbians they become more obsessed with women. If you give the same shot to a heterosexual woman she becomes more obsessed with everybody. - Christopher Ryan, March 2012 ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] controllo della data
On Sat, Jul 28, 2012 at 8:49 PM, Giorgio Zoppi giorgio.zo...@gmail.comwrote: Datetime from datetime import datetime date = '10/12/1977' input = date.replace(/,) result = None format = ['%d%m%Y'] try: result = datetime.strptime(input, format) except: pass if (result): print Validate A parte l'uso scorretto delle eccezioni questa non é una validazione corretta. Accetterebbe anche 101/2/1977 come data valida e lo convertirebbe (credo) a 10/12/1977. Ciao -- Andrea Francia http://andreafrancia.it ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] controllo della data
On 2012-07-28 19:49, Giorgio Zoppi wrote: Marco compariamo RegExp: import re date = 01/02/1988 checkdate =^(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.](19|20)\d\d obj = re.compile(checkdate) if (re.match(date)): print 'Valid date' Ti dice anche se un anno è bisestile? Datetime from datetime import datetime date = '10/12/1977' input = date.replace(/,) result = None format = ['%d%m%Y'] try: result = datetime.strptime(input, format) except: pass if (result): print Validate Il secondo e' piu pythonico...ma lungo. Hai altre opzioni? Basta toglierci tutta la roba che non serve. Che poi che vuol dire, più un pezzo di codice è corto e meglio è? L'estetica del perl? from datetime import datetime input = '10/12/1977' try: result = datetime.strptime(input, '%d/%m/%Y') except ValueError: result = None (sebbene l'aggettivo Pythonico non sia esattamente ben definito, il tuo esempio *veramente* non lo era..) -- Daniele Varrazzo - Develer S.r.l. http://www.develer.com ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] controllo della data
2012/7/28 Daniele Varrazzo p...@develer.com On 2012-07-28 19:49, Giorgio Zoppi wrote: Marco compariamo RegExp: import re date = 01/02/1988 checkdate =^(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.](19|20)\d\d obj = re.compile(checkdate) if (re.match(date)): print 'Valid date' Ti dice anche se un anno è bisestile? Datetime from datetime import datetime date = '10/12/1977' input = date.replace(/,) result = None format = ['%d%m%Y'] try: result = datetime.strptime(input, format) except: pass if (result): print Validate Il secondo e' piu pythonico...ma lungo. Hai altre opzioni? Basta toglierci tutta la roba che non serve. Che poi che vuol dire, più un pezzo di codice è corto e meglio è? L'estetica del perl? from datetime import datetime input = '10/12/1977' try: result = datetime.strptime(input, '%d/%m/%Y') except ValueError: result = None (sebbene l'aggettivo Pythonico non sia esattamente ben definito, il tuo esempio *veramente* non lo era..) totalmente d'accordo, e non sono nemmeno sostituibili. Semplicemente quella con le RegExp è sbagliata, l'altra no, perché? import re re.match( ^(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.](19|20)\d\d, 31/02/1988) # nota bene, il 31 febbraio probabilmente non esiste In questo caso con la regexp puoi magari avvicinarti alla correttezza, puoi farle estremamente sofisticate e riconoscere i mesi da 30/31/28 giorni e arrivare a considerare gli anni bisestili ottenendo qualcosa tipo: ^(?:(?:(?:0?[13578]|1[02])(\/|-|\.)31)\1|(?:(?:0?[1,3-9]|1[0-2])(\/|-|\.)(?:29|30)\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})$|^(?:0?2(\/|-|\.)29\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00$|^(?:(?:0?[1-9])|(?:1[0-2]))(\/|-|\.)(?:0?[1-9]|1\d|2[0-8])\4(?:(?:1[6-9]|[2-9]\d)?\d{2})$ [via http://regexadvice.com/blogs/mash/archive/2004/04/02/300.aspx] ma si tratterebbe probabilmente di masturbazione più che programmazione :P [scusate ho letto ora ti dice anche se l'anno è bisestile, ma ormai avevo scritto! :P] -- Daniele Varrazzo - Develer S.r.l. http://www.develer.com __**_ Python mailing list Python@lists.python.it http://lists.python.it/**mailman/listinfo/pythonhttp://lists.python.it/mailman/listinfo/python ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] controllo della data
ok. L'esempio di daniele e quello corretto..Buona serata! Il 28 luglio 2012 21:42, Alberto Granzotto agran...@gmail.com ha scritto: 2012/7/28 Daniele Varrazzo p...@develer.com On 2012-07-28 19:49, Giorgio Zoppi wrote: Marco compariamo RegExp: import re date = 01/02/1988 checkdate =^(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.](19|20)\d\d obj = re.compile(checkdate) if (re.match(date)): print 'Valid date' Ti dice anche se un anno è bisestile? Datetime from datetime import datetime date = '10/12/1977' input = date.replace(/,) result = None format = ['%d%m%Y'] try: result = datetime.strptime(input, format) except: pass if (result): print Validate Il secondo e' piu pythonico...ma lungo. Hai altre opzioni? Basta toglierci tutta la roba che non serve. Che poi che vuol dire, più un pezzo di codice è corto e meglio è? L'estetica del perl? from datetime import datetime input = '10/12/1977' try: result = datetime.strptime(input, '%d/%m/%Y') except ValueError: result = None (sebbene l'aggettivo Pythonico non sia esattamente ben definito, il tuo esempio *veramente* non lo era..) totalmente d'accordo, e non sono nemmeno sostituibili. Semplicemente quella con le RegExp è sbagliata, l'altra no, perché? import re re.match( ^(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.](19|20)\d\d, 31/02/1988) # nota bene, il 31 febbraio probabilmente non esiste In questo caso con la regexp puoi magari avvicinarti alla correttezza, puoi farle estremamente sofisticate e riconoscere i mesi da 30/31/28 giorni e arrivare a considerare gli anni bisestili ottenendo qualcosa tipo: ^(?:(?:(?:0?[13578]|1[02])(\/|-|\.)31)\1|(?:(?:0?[1,3-9]|1[0-2])(\/|-|\.)(?:29|30)\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})$|^(?:0?2(\/|-|\.)29\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00$|^(?:(?:0?[1-9])|(?:1[0-2]))(\/|-|\.)(?:0?[1-9]|1\d|2[0-8])\4(?:(?:1[6-9]|[2-9]\d)?\d{2})$ [via http://regexadvice.com/blogs/mash/archive/2004/04/02/300.aspx] ma si tratterebbe probabilmente di masturbazione più che programmazione :P [scusate ho letto ora ti dice anche se l'anno è bisestile, ma ormai avevo scritto! :P] -- Daniele Varrazzo - Develer S.r.l. http://www.develer.com ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python -- Quiero ser el rayo de sol que cada día te despierta para hacerte respirar y vivir en me. Favola -Moda. ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] controllo della data
On 2012-07-28 20:42, Alberto Granzotto wrote: ^(?:(?:(?:0?[13578]|1[02])(\/|-|\.)31)\1|(?:(?:0?[1,3-9]|1[0-2])(\/|-|\.)(?:29|30)\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})$|^(?:0?2(\/|-|\.)29\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00$|^(?:(?:0?[1-9])|(?:1[0-2]))(\/|-|\.)(?:0?[1-9]|1\d|2[0-8])\4(?:(?:1[6-9]|[2-9]\d)?\d{2})$ [via http://regexadvice.com/blogs/mash/archive/2004/04/02/300.aspx] ma si tratterebbe probabilmente di masturbazione più che programmazione :P [scusate ho letto ora ti dice anche se l'anno è bisestile, ma ormai avevo scritto! :P] No, anzi, grazie per questo capolavoro! -- Daniele Varrazzo - Develer S.r.l. http://www.develer.com ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] controllo della data
Il giorno 28/lug/2012, alle ore 22:40, Daniele Varrazzo p...@develer.com ha scritto: No, anzi, grazie per questo capolavoro! E allora mi sento in dovere di copia-incollare il paragrafo di un famosissimo libro :-) Ciao. Marco. Ma.attenzione.a.non.esagerare! Esiste un detto famoso riguardante le regular expression: Un tizio aveva un problema e disse So come risolverlo: userò una regular expression!. E così il tizio ebbe due problemi... Non crediamo che sia così, però bisogna fare attenzione a usare le re- gular expression per quello che sono, senza esagerare. Come ultimo esempio vogliamo dare un'occhiata a una regular ex- pression che forse non rispetta il consiglio di non esagerare. Si tratta di una regular expression che controlla la correttezza di un indirizzo email: ^((([a-z]|[0-9]|!|#|$|%||'|\*|\+|\-|/|=|\?|\^|_|`| \{|\||\}|~)+(\.([a-z]|[0-9]|!|#|$|%||'|\*|\+|\-|/| =|\?|\^|_|`|\{|\||\}|~)+)*)@([a-z]|[0-9])([a-z] |[0-9]|\-){0,61}([a-z]|[0-9])\.))*([a-z]|[0-9])([a- z]|[0-9]|\-){0,61}([a-z]|[0-9])\.(af|ax|al|dz|as|ad |ao|ai|aq|ag|ar|am|aw|au|at|az|bs|bh|bd|bb|by|be|bz |bj|bm|bt|bo|ba|bw|bv|br|io|bn|bg|bf|bi|kh|cm|ca|cv |ky|cf|td|cl|cn|cx|cc|co|km|cg|cd|ck|cr|ci|hr|cu|cy |cz|dk|dj|dm|do|ec|eg|sv|gq|er|ee|et|fk|fo|fj|fi|fr |gf|pf|tf|ga|gm|ge|de|gh|gi|gr|gl|gd|gp|gu|gt|gg|gn |gw|gy|ht|hm|va|hn|hk|hu|is|in|id|ir|iq|ie|im|il|it |jm|jp|je|jo|kz|ke|ki|kp|kr|kw|kg|la|lv|lb|ls|lr|ly |li|lt|lu|mo|mk|mg|mw|my|mv|ml|mt|mh|mq|mr|mu|yt|mx |fm|md|mc|mn|ms|ma|mz|mm|na|nr|np|nl|an|nc|nz|ni|ne |ng|nu|nf|mp|no|om|pk|pw|ps|pa|pg|py|pe|ph|pn|pl|pt |pr|qa|re|ro|ru|rw|sh|kn|lc|pm|vc|ws|sm|st|sa|sn|cs |sc|sl|sg|sk|si|sb|so|za|gs|es|lk|sd|sr|sj|sz|se|ch |sy|tw|tj|tz|th|tl|tg|tk|to|tt|tn|tr|tm|tc|tv|ug|ua |ae|gb|us|um|uy|uz|vu|ve|vn|vg|vi|wf|eh|ye|zm|zw|co m|edu|gov|int|mil|net|org|biz|info|name|pro|aero|coop |museum|arpa))|[0-9]){1,3}\.){3}([0-9]){1,3}) 1 Appendice B [image: page188image1196] )|(\[((([0-9]){1,3}\.){3}([0-9]){1,3})\])))$ Questo capolavoro di ingegnosità (e di costanza) è dovuto ad un certo Philippe Benthien che l'ha inserito nel sito http://re- gexlib.com Siamo sicuri che questa regular expression controlla alla perfezione la correttezza formale di un indirizzo email. Però se il signor Mario Rossi, il cui indirizzo è mario.ro...@posta.it scrivesse per errore mario.ri...@posta.it, la regular expression non gli direbbe che ha sbagliato. Viceversa il signor John Smith. il cui indi- rizzo email è john.sm...@people.mobi, non potrebbe inserire il suo indirizzo se il controllo fosse affidato a questa regular expression... Per la cronaca .mobi è un dominio di primo livello introdotto nel 2006. page188image1196.png___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] controllo della data
interessante... Il giorno 28 luglio 2012 23:05, Marco Beri marcob...@gmail.com ha scritto: Il giorno 28/lug/2012, alle ore 22:40, Daniele Varrazzo p...@develer.com ha scritto: No, anzi, grazie per questo capolavoro! E allora mi sento in dovere di copia-incollare il paragrafo di un famosissimo libro :-) Ciao. Marco. Ma.attenzione.a.non.esagerare! Esiste un detto famoso riguardante le regular expression: Un tizio aveva un problema e disse So come risolverlo: userò una regular expression!. E così il tizio ebbe due problemi... Non crediamo che sia così, però bisogna fare attenzione a usare le re- gular expression per quello che sono, senza esagerare. Come ultimo esempio vogliamo dare un'occhiata a una regular ex- pression che forse non rispetta il consiglio di non esagerare. Si tratta di una regular expression che controlla la correttezza di un indirizzo email: ^((([a-z]|[0-9]|!|#|$|%||'|\*|\+|\-|/|=|\?|\^|_|`| \{|\||\}|~)+(\.([a-z]|[0-9]|!|#|$|%||'|\*|\+|\-|/| =|\?|\^|_|`|\{|\||\}|~)+)*)@([a-z]|[0-9])([a-z] |[0-9]|\-){0,61}([a-z]|[0-9])\.))*([a-z]|[0-9])([a- z]|[0-9]|\-){0,61}([a-z]|[0-9])\.(af|ax|al|dz|as|ad |ao|ai|aq|ag|ar|am|aw|au|at|az|bs|bh|bd|bb|by|be|bz |bj|bm|bt|bo|ba|bw|bv|br|io|bn|bg|bf|bi|kh|cm|ca|cv |ky|cf|td|cl|cn|cx|cc|co|km|cg|cd|ck|cr|ci|hr|cu|cy |cz|dk|dj|dm|do|ec|eg|sv|gq|er|ee|et|fk|fo|fj|fi|fr |gf|pf|tf|ga|gm|ge|de|gh|gi|gr|gl|gd|gp|gu|gt|gg|gn |gw|gy|ht|hm|va|hn|hk|hu|is|in|id|ir|iq|ie|im|il|it |jm|jp|je|jo|kz|ke|ki|kp|kr|kw|kg|la|lv|lb|ls|lr|ly |li|lt|lu|mo|mk|mg|mw|my|mv|ml|mt|mh|mq|mr|mu|yt|mx |fm|md|mc|mn|ms|ma|mz|mm|na|nr|np|nl|an|nc|nz|ni|ne |ng|nu|nf|mp|no|om|pk|pw|ps|pa|pg|py|pe|ph|pn|pl|pt |pr|qa|re|ro|ru|rw|sh|kn|lc|pm|vc|ws|sm|st|sa|sn|cs |sc|sl|sg|sk|si|sb|so|za|gs|es|lk|sd|sr|sj|sz|se|ch |sy|tw|tj|tz|th|tl|tg|tk|to|tt|tn|tr|tm|tc|tv|ug|ua |ae|gb|us|um|uy|uz|vu|ve|vn|vg|vi|wf|eh|ye|zm|zw|co m|edu|gov|int|mil|net|org|biz|info|name|pro|aero|coop |museum|arpa))|[0-9]){1,3}\.){3}([0-9]){1,3}) 1 Appendice B [image: page188image1196] )|(\[((([0-9]){1,3}\.){3}([0-9]){1,3})\])))$ Questo capolavoro di ingegnosità (e di costanza) è dovuto ad un certo Philippe Benthien che l'ha inserito nel sito http://re- gexlib.com Siamo sicuri che questa regular expression controlla alla perfezione la correttezza formale di un indirizzo email. Però se il signor Mario Rossi, il cui indirizzo è mario.ro...@posta.it scrivesse per errore mario.ri...@posta.it, la regular expression non gli direbbe che ha sbagliato. Viceversa il signor John Smith. il cui indi- rizzo email è john.sm...@people.mobi, non potrebbe inserire il suo indirizzo se il controllo fosse affidato a questa regular expression... Per la cronaca .mobi è un dominio di primo livello introdotto nel 2006. ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python -- Quiero ser el rayo de sol que cada día te despierta para hacerte respirar y vivir en me. Favola -Moda. page188image1196.png___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python