begin process at 2012 02 12 12:33:14
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Divers

 > 

Divers

 > 

Expression régulières


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Expression régulières

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ée 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 changer le format de la date systeme [ par abdallahghoul ] j'ai un programme c++ builder et j'ai besoin de changer le format de la date systeme au (aaaa/mm/jj) SVP m'aidez.Merçi DateTimePicker mettre la date au format yyyy-mm-dd [ par jer13mel ] Bonjour, Voici mon problème, je code en C++, j'ai besoin de récupérer la date d'un DateTimePicker au format yyyy-mm-dd car mon champ est de type dat 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 [BAR]help expression régulière en perl [ par samordi ] Bonjour, Je débute en programmation et découvre le langage perl. Je suis actuellement bloqué à cause d'une expression régulière que je n'arrive pas a [QT] Filtrage d'un QStandardItemModel [ par ssoufiane ] Salut à tous, j'ai un probléme concenant le filrage d'un QStandardItemModel. Ce QStandradItemModel contient 3 colonne (Date,Operation,Montant), sachan Structure date c [ par hamriham123 ] > le nombr parser une expression mathématique, de manière récursive ou itérative ? [ par mmaximum ] Bonjour, Je suis actuellement en train de programmer un petit CAS, qui devra tourné sur un système très réduit (calculatrice). J'ai déjà crée toute l [C++ vers Bar]création d'une image de synthèse au format .df3 sous Povray à partir d'un fichier .inc ou .tab [ par alex2229 ] je voulais savoir si par hasard quelqu'un avait déjà réaliser ce genre de programme pour Povray. Cordialement, alex


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,558 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales