Dates…
Histoire de m’amuser un peu, j’ai fait une jolie expression régulière qui détecte les dates au format YYYY-MM-DD en vérifiant que le mois existe et que le nombre de jours dans le mois est correct (par contre le 29 février n’est pas géré, il est toujours accepté quelle que soit l’année)
(\d{4})-((10|12|0?1|0?3|0?5|0?7|0?8)-(10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31|0?1|0?2|0?3|0?4|0?5|0?6|0?7|0?8|0?9)|(11|0?2|0?4|0?6|0?9)-(10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|0?1|0?2|0?3|0?4|0?5|0?6|0?7|0?8|0?9)|(0?2)-(10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|0?1|0?2|0?3|0?4|0?5|0?6|0?7|0?8|0?9))(\s|$)
Et tant qu’on y est, la même pour gérer toutes les dates, à année positives ou négatives
(-?\d+)-((10|12|0?1|0?3|0?5|0?7|0?8)-(10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31|0?1|0?2|0?3|0?4|0?5|0?6|0?7|0?8|0?9)|(11|0?2|0?4|0?6|0?9)-(10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|0?1|0?2|0?3|0?4|0?5|0?6|0?7|0?8|0?9)|(0?2)-(10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|0?1|0?2|0?3|0?4|0?5|0?6|0?7|0?8|0?9))(\s|$)
Et puis on va finir avec quelques liens : une pages qui liste des expressions régulières de détection de date et une autre page qui liste toutes les dates remarquables pour les systèmes informatiques jusqu’à ce que le nombre de particules dans l’univers soit trop faible pour qu’on puisse écrire la date…
2 comments May 8th, 2009
