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

Collection et Stream Java Discussion :

Reg Exp Java


Sujet :

Collection et Stream Java

  1. #1
    Membre éclairé Avatar de Katachana
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Avril 2007
    Messages : 755
    Par défaut Reg Exp Java
    Bonjour,

    je dois traiter une chaine du type : A$CAA/EZdzd.zdszd$PcccSS./$Mcc.U-dz

    sachant que les séparateur sont $C , $P et $M et que les chaines $Cchaine, $Pchaine et $Mchaine ne sont pas obligatoire

    j'ai essayé de cette manière sans succes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Pattern p = Pattern.compile("^A\\$C"                        
                    + "(\\$C(.*))"                
                    + "(\\$P(.*))?"                    
                    + "(\\$M(.*))?"
                    +"$");
    En fait toute les chaine est récupéré dans le premier matcher group. Mais je ne sais pas comment reduire la classe de caractère ....
    Je sais pas contre que les seul caractère spéciaux pouvant se trouver dans les chaines sont -, / et .

    Merci d'avance !

  2. #2
    Membre Expert Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 687
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 687
    Par défaut
    Il faut utiliser .*? à la place de .*
    Cela permet de ne capturer que le minimum de caractère possible pour que l'expression soit valide.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 33
    Par défaut
    Citation Envoyé par Uther Voir le message
    Il faut utiliser .*? à la place de .*
    Cela permet de ne capturer que le minimum de caractère possible pour que l'expression soit valide.
    Le problème c'est qu'il va accepter des chaînes interdites.

    Tu devrais définir les chaines que tu acceptes avec quelque chose du style
    (au moins un caractère, parmi lettre, '-', '/' et '.')

  4. #4
    Membre éclairé Avatar de Katachana
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Avril 2007
    Messages : 755
    Par défaut
    Merci beaucoup pour votre aide

    C'est que vrai que finalement c'est très pratique d'utiliser :

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

Discussions similaires

  1. Reg Exp Java
    Par Katachana dans le forum Langage
    Réponses: 9
    Dernier message: 04/02/2009, 16h04
  2. galère avec les reg exp
    Par glouffy6 dans le forum Langage
    Réponses: 1
    Dernier message: 18/07/2007, 16h34
  3. Réponses: 3
    Dernier message: 10/10/2006, 11h15
  4. reg exp : caracteres speciaux
    Par frouge dans le forum Langage
    Réponses: 2
    Dernier message: 07/06/2006, 17h49

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