[Python] controllo della data

Marco Beri marcoberi a gmail.com
Sab 28 Lug 2012 23:05:01 CEST


Il giorno 28/lug/2012, alle ore 22:40, Daniele Varrazzo <piro a 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.rossi a posta.it scrivesse
per errore mario.risso a posta.it, la regular expression non gli direbbe che
ha sbagliato. Viceversa il signor John Smith. il cui indi- rizzo email è
john.smith a 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.
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20120728/37612d68/attachment.html>
-------------- parte successiva --------------
Un allegato non testuale è stato rimosso....
Nome:        page188image1196.png
Tipo:        image/png
Dimensione:  108 bytes
Descrizione: non disponibile
URL:         <http://lists.python.it/pipermail/python/attachments/20120728/37612d68/attachment.png>


Maggiori informazioni sulla lista Python