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

Langage Java Discussion :

Expressions régulières et groupes capturants


Sujet :

Langage Java

  1. #1
    Membre expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Points : 3 080
    Points
    3 080
    Par défaut Expressions régulières et groupes capturants
    Salut,

    J'arrive à récupérer le contenu des groupes capturants, mais quand il y a un quantificateur (un * par exemple), je ne peux capturer que le dernier.

    Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Pattern pattern = Pattern.compile("(a([bcd]))*");
    Matcher matcher = pattern.matcher("abacad");
    if (matcher.lookingAt()) {
        System.out.println(matcher.groupCount());
        System.out.println(matcher.group(1));
        System.out.println(matcher.group(2));
    }
    Je voudrais avant cela récupérer ab, b, ac, c.

    Merci de votre aide

  2. #2
    Membre expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Points : 3 080
    Points
    3 080
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Pattern pattern = Pattern.compile("(a([bcd]))");
    Matcher matcher = pattern.matcher("abacad");
    while (matcher.find()) {
        System.out.println(matcher.groupCount());
        System.out.println(matcher.group(1));
        System.out.println(matcher.group(2));
    }
    Voilà ça marche

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

Discussions similaires

  1. Expressions régulières : les groupes de (non) capture
    Par Auteur dans le forum Débuter avec Java
    Réponses: 5
    Dernier message: 03/07/2013, 03h29
  2. treplace et expression régulière avec groupe
    Par dosy07 dans le forum Développement de jobs
    Réponses: 1
    Dernier message: 10/03/2013, 12h57
  3. Expression régulière pour groupe multicast
    Par bMallo dans le forum Qt
    Réponses: 1
    Dernier message: 27/02/2012, 09h36
  4. [RegEx] Capture avec expression régulière par ereg
    Par pimpmyride dans le forum Langage
    Réponses: 4
    Dernier message: 06/03/2008, 14h09
  5. [Regex] Expressions régulières: sous groupe
    Par debdev dans le forum Collection et Stream
    Réponses: 12
    Dernier message: 07/07/2005, 14h10

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