IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

API standards et tierces Java Discussion :

Parser un numéro de version avec Regexp


Sujet :

API standards et tierces Java

  1. #1
    Membre éclairé Avatar de kkt8
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    472
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 472
    Par défaut Parser un numéro de version avec Regexp
    Bonjour,

    Je voudrais identifier tous les chiffres d'un numéro de version du style X.Y.Z .
    J'ai fait ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Pattern versionPattern = Pattern.compile("(\\d+\\.\\d+\\.\\d+).*$");
    Matcher m = versionPattern.matcher("Version 1.10.0");
    if (m.find()) {
        String mainVersion = m.group(1);
    }
    Me renvoit : 1.10.0, un bon début !

    Je voudrais obtenir 1 puis 10 puis 0.
    J'ai tenté ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Pattern firstPattern = Pattern.compile("(\\d+)\\.(\\d+)\\.(\\d+).*$");
    Pour obtenir 4 "group" :
    - 0 pour le général : 1.10.0
    - 1 pour 1
    - 2 pour 10
    - 3 pour 0

    Mais ça ne marche pas, j'ai même une exception...
    Je suis nulle en pattern ...

    Une idée ? un peu d'aide ?

    Merci d'avance !
    Chris

  2. #2
    Membre éclairé Avatar de kkt8
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    472
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 472
    Par défaut
    J'ai trouvé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Pattern firstPattern = Pattern.compile("(\\d+)?\\.(\\d+)?\\.(\\d+).*$");

  3. #3
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 577
    Par défaut
    Hello,

    c'est étrange. T'as des trucs du genre "Version ..42" ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Membre éclairé Avatar de kkt8
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    472
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 472
    Par défaut
    non j'ai Version 1.10.0 par ex
    et dans ma solution
    group(0) = 1.10.0
    group(1) = 1
    group(2) = 10
    group(3) = 0

  5. #5
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 577
    Par défaut
    Ben, ça marchait très bien avec "(\\d+)\\.(\\d+)\\.(\\d+).*$" . Ils sont censés servir à quoi, les points d'interrogation ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Membre éclairé Avatar de kkt8
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    472
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 472
    Par défaut
    non ça ne marchait pas chez moi.
    d'apres ce que j'ai cru comprendre sur le net, les ? servent à fermer les () car il ne s'agit pas des dernières

  7. #7
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 577
    Par défaut
    'faudrait montrer le code exact qui marchait pas, en entier, avec ce qu'il faut pour voir que ça marche pas.

    Je comprends que tu aies l'impression d'avoir ce que tu voulais, mais :

    - j'informe à quiconque lirait ceci, qu'ajouter ces ? ne pouvait pas du tout aider, et que s'ils espèrent avoir de bons résultats en s'inspirant de ceci, ils n'en auront pas.

    - c'est pas très bon signe quand on se retrouve à faire n'importe quoi. Quand plus tard tu auras encore des trucs à corriger, tu auras du mal à t'en sortir avec des idées fausses plein la tête.

    d'apres ce que j'ai cru comprendre sur le net, les ? servent à fermer les () car il ne s'agit pas des dernières
    Ouais non, pas du tout.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  8. #8
    Membre éclairé Avatar de kkt8
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    472
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 472
    Par défaut
    oups, tu as bien fait de me faire remettre le nez dedans, je ne sais pas pourquoi j'y arrivais pas au début.
    mais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Pattern firstPattern = Pattern.compile("(\\d+)\\.(\\d+)\\.(\\d+).*$");
    je n'ai plus besoin des ? ...

    bizarre

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 10/02/2010, 14h24
  2. Vérification de formulaire avec regexp
    Par Shadow aok dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 06/08/2007, 11h57
  3. Gestion du numéro de version d'un projet
    Par Chris B dans le forum EDI
    Réponses: 5
    Dernier message: 22/11/2004, 15h08
  4. [CVS]Gestion de 2 versions avec une partie commune
    Par Gromitou dans le forum EDI et Outils pour Java
    Réponses: 4
    Dernier message: 19/02/2004, 14h32
  5. Problèmes de versions avec Xalan, Xerces et Java
    Par honeyz dans le forum XML/XSL et SOAP
    Réponses: 4
    Dernier message: 05/06/2003, 10h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo