Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Expression régulières [ Divers / Divers ] (poiuytrez3)

vendredi 5 octobre 2007 à 22:06:38 | Expression régulières

poiuytrez3

Membre Club
Bonjour,

j'essaye de détecter une date au format DD/MM/YYYY grave à une expression régulière que j'ai toruvé ici :
http://www.regular-expressions.info/regexbuddy/datemmddyyyy.html

et grace au bout de code que j'ai trouvé là :
http://www.cppfrance.com/codes/EXPRESSIONS-REGULIERES-CPLUSPLUS-AVEC-ATL_34164.aspx
qui marche d'ailleur très bien.

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

mercredi 10 octobre 2007 à 09:40:14 | Re : Expression régulières

The_Guardian

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 \\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
===


Une autruche ne se cuit pas aux petits lardons

mercredi 10 octobre 2007 à 09:42:32 | Re : Expression régulières

The_Guardian

Re

puis ça aurait dû être \d tout court, je pense surtout.
===

Une autruche ne se cuit pas aux petits lardons



Cette discussion est classé dans : date, format, expression, régulière, dateofbirth


Répondre à ce message

Sujets en rapport avec ce message

Expression régulière POSIX abondante [ par sebclick ] Bonjour,Je cherche à traiter un fichier XML par un programme C à l'aide d'expression régulière pour récupérer le texte contenu entre deux balises.Voic expression régulière C [ par Digaboy ] BonjourJe souhaiterais faire des expressions régulières en C. J'ai appris les bases grâce à ce tutorielPar contre je n'arrive pas à compiler mon code besoin d'aide pour une expression régulière [ par psgkiki ] Bonjour a tous, Je suis entrain de faire un lex et un yacc et je cale sur une expression régulière. Je veux qu'il me renvoi le mot clé IDF à chaque fo enregistrer des images en PGM à partir d'une pictureBox [ par williamcplusplus ] bonjour!je voudrais enregistrer au format PGM les images provenant d'une camera à partir de la pictureBox, mon application affiche les images sur la p format de nombres entier [ par cre31400 ] Salut, Pour mon programme j'ai besoin d'avoir des nombres à deux chiffres, par exemple si j'obtiens  2 il me le faudrait sous la forme 02 . Existe-t'i [QT] "onmouseover" [ par sofdev ] Bonjour,Je veux savoir s'il y a une fonction qui fait la même tâche que "onmouseover"(Javascript). car je veux quand je passe la sourie sur une date d [QT] calendrier [ par sofdev ] Bonjour,je veux colorer une case dans mon calendrier comme ds l'exemple (calendar de Qt examples and demos)j'ai "réussi" à faire ça(copier coller),mai Conversion png en format natif [ par damd ] Bonjour, Je développe une appli embarquée qui fait du traitement d'image J'utilise des fichiers png (sans perte et avec transparence). Pour trai Affecter l'équivalent hexa d'un int décimal dans un char [ par kididouille ] Bonjour, je bloque:J'ai une fonction où je recois une date format UTC YYMMDD on m'envoie un int par exemple 080829 (la date d'aujourd'hui)je dois fair Parser avec description de format (xml) ? [ par RV2931 ] Bonjour,Je dois réaliser quelques parsers de fichiers, notament un parser de fichiers DXF, et d'autres formats propriétaires...J'ai entendu parler que


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,468 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.