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

avec Java Discussion :

Problème avec les regex


Sujet :

avec Java

  1. #1
    Membre du Club
    Inscrit en
    Novembre 2003
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 84
    Points : 58
    Points
    58
    Par défaut Problème avec les regex
    bonjour,
    j'ai un petit souci avec un regex...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    string a = "[[a1a1a1,aa1aa1aa1aa1,aaa1aaa1aaa1], [b1b1b1,bb1bb1bb1,bbb1bbb1bbb1], [c1c1c1,cc1cc1cc1,ccc1ccc1ccc1]]"
    Pattern pattern = Pattern.compile("\\[[^\\]]*\\]");
     Matcher m = pattern.matcher(a);
    while(m.find()){
                System.out.println(m.group());
            }
    RESULTAT :
    [[a1a1a1,aa1aa1aa1aa1,aaa1aaa1aaa1]
    [b1b1b1,bb1bb1bb1,bbb1bbb1bbb1]
    [c1c1c1,cc1cc1cc1,ccc1ccc1ccc1]


    le resultat n'est pas celui espere, en fait je voudrai ne recuperer que ce qui est entre crochets sans les crochets... cad :
    a1a1a1,aa1aa1aa1aa1,aaa1aaa1aaa1
    b1b1b1,bb1bb1bb1,bbb1bbb1bbb1
    c1c1c1,cc1cc1cc1,ccc1ccc1ccc1


    Merci

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 567
    Points : 21 633
    Points
    21 633
    Par défaut
    Dans ce cas :

    - Il faut exclure les [ et ] encadrants, de l'affichage. Donc ne pas afficher m.group() qui affiche la totalité du texte reconnu, mais quelque chose comme m.group(1) qui affichera le groupe de capture numéro 1.
    Reste à définir un groupe de capture. C'est simple : tu mets des parenthèses autour :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "\\[(partie_a_afficher)\\]"
    - Pour ne pas te taper le double [[ au début, tu vas devoir refuser aussi les [ à l'intérieur du groupe de capture :


  3. #3
    Membre du Club
    Inscrit en
    Novembre 2003
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 84
    Points : 58
    Points
    58
    Par défaut
    Merci beaucoup mais je ne comprends pas bien la premiere partie
    parceque le pattern tout seul ne marche pas..
    le code avec partie a imprimer je le mets ou ?

  4. #4
    Modérateur

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 567
    Points : 21 633
    Points
    21 633
    Par défaut
    Citation Envoyé par fred33 Voir le message
    Merci beaucoup mais je ne comprends pas bien la premiere partie
    parceque le pattern tout seul ne marche pas..
    Oui, il faut lui ajouter un groupe de capture. Donc y mettre des parenthèses.

    Citation Envoyé par fred33 Voir le message
    le code avec partie a imprimer je le mets ou ?
    C'est ta regex. Il faut que ta regex contienne des parenthèses.

Discussions similaires

  1. Problème avec les regex
    Par atchopba dans le forum Langage
    Réponses: 4
    Dernier message: 29/07/2013, 10h28
  2. Problème de recherche avec les REGEX
    Par sampaiX dans le forum Entrée/Sortie
    Réponses: 6
    Dernier message: 15/06/2010, 17h47
  3. problème avec les regex
    Par regisyves dans le forum ASP
    Réponses: 0
    Dernier message: 01/04/2010, 00h20
  4. REGEX problème avec les "
    Par storm_2000 dans le forum Collection et Stream
    Réponses: 9
    Dernier message: 30/11/2006, 19h32
  5. [RegEx] Problème avec les regex
    Par dragon noir dans le forum Langage
    Réponses: 3
    Dernier message: 24/07/2006, 12h26

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