Le problème c'est qu'avec l'expression régulière que je rentre, il ne detecte pas la date. Je suis quasiment sur que c'est une histoire de caractère d'échapement ou un truc comme ça.
Merci de votre aide
Voici mon code :
bool Student1::setDateOfBirth(string dateOfBirth)
{
bool Result = false;
//regular expression object
CAtlRegExp <> regExp;
//Construit l'expression régulière
// Enter the format of the date of birth
// Match a MM/DD/YYYY
REParseError hParseError = regExp.Parse(
"(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.](19|20)\\d\\d" );
if (hParseError == REPARSE_ERROR_OK)
{
// Object to compare the expression with the format
CAtlREMatchContext <> matchDate;
//on compare l'expression réguilère à un mail
// La, ça ne detecte pas
if(regExp.Match(dateOfBirth.c_str(),&matchDate))
{
// No problem with the expression
Result = TRUE;
// Set the date--
this->dateOfBirth = dateOfBirth;
}
}
return Result;
}
-----------------------------------------------------------------------------------
http://www.mesdevoirs.net -- Corrections de devoirs de mathématiques en ligne
The_Guardian
Messages postés317Date d'inscriptionvendredi 25 mai 2007StatutMembreDernière intervention19 octobre 20071 10 oct. 2007 à 09:40
Bonjour,
REParseError hParseError = regExp.Parse(
"(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.](19|20)\\d\\d" );
Donc avant de prendre cette expression régulière qui est un peu compliquée, je t'en propose une plus simple:
([0-9]+)\/([0-9]+)\/([0-9]+)
Donc essaye déjà avec ça que ça lit trois nombres (ayant au moins un chiffre chacun) séparés par des slashs
et dans ton expression au-dessus, il y a plusieurs problèmes à mon avis...
- le fait que ça veuille faire du control de date dès l'expression régulière
- que tu aies plusieurs symboles pour faire les séparateurs
- tes [file://\\d \\d] à la fin
- c'est pas lisible et c'est pas forcément le rôle de ton expression régulière, du moins pas dans un premier temps
essaye celle que je t'ai proposée, et change au fur et à mesure si elle marche pour la rendre plus complexe.
mais je te conseille pas d'aller dans une solution qui fait tout
=