Bonjour,

Je souhaite, pour une chaine de caractères donnée, regarder si elle contient une ou plusieurs dates. Exemple : "blabla12071998blabla23-09-2013blabla".

J'ai donc une expression régulière permettant de matcher les différents formats de date suivants :

ddMMyyyy
dd MM yyyy
dd.MM.yyyy
dd-MM-yyyy
dd_MM_yyyy


Le problème que je rencontre est que lorsque ma chaîne de caractères contient une date au format dd/MM/yyyy, elle est matchée alors que je n'indique pas de gérer les dates avec des slashs dans ma regex :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
public static final String DATE_REGEX = "(0[1-9]|[12][0-9]|3[01])(-|.|_|\\s)?(01|02|03|04|05|06|07|08|09|10|11|12)(-|.|_|\\s)?(18|19|20|21)\\d{2,4}";
Quelqu'un peut-il m'expliquer pourquoi ?

Merci d'avance