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 :

[regexp] comment capturer un groupe


Sujet :

Collection et Stream Java

  1. #1
    Nouveau candidat au Club
    Inscrit en
    Juin 2007
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 1
    Par défaut [regexp] comment capturer un groupe
    Bonjour, voilà mon souci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    String str = "Nous sommes le 20 juin, vous avez gagné 20 euros."
    Pattern pattern = Pattern.compile("[0-9]{2,}");
    Matcher matcher = pattern.matcher(str);	
    while (matcher.find()) { 
    	           String texte = matcher.group();    
    	           int debut = matcher.start();      
    	           int fin = matcher.end();      
    	           System.out.println("Trouvé "+texte
    	        		   +" à la position "+debut
    	        		   +" jusque "+fin); }
    donne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Trouvé 20 à la position 15 jusque 17
    Trouvé 20 à la position 40 jusque 42
    Comment modifier le motif par exemple: "gagné [0-9]{2,}" mais sans
    que "gagné " n'apparaisse dans le résultat pour n'avoir que la 2ème occurence du nombre ?

    Merci d'avance pour toute aide.

  2. #2
    Rédacteur
    Avatar de CyberChouan
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    2 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 752
    Par défaut
    En lisant un tutoriel sur les expressions régulières par exemple...

    L'extraction d'un groupe d'une expression régulière se fait avec des parenthèses:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Pattern p = Pattern.compile("Gagné ([0-9]+)");
    Matcher m = p.matcher("Gagné 123");
    if(m.matches()) {
       System.out.println(m.group(1));
    }
    A adapter à ton besoin, évidemment...
    Avant de poster, pensez à regarder la FAQ, les tutoriaux, la Javadoc (de la JRE que vous utilisez) et à faire une recherche
    Je ne réponds pas aux questions techniques par MP: les forums sont faits pour ça
    Mes articles et tutoriaux & Mon blog informatique

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 15/11/2005, 23h52
  2. Comment capturer "Net send" ?
    Par Mariussy dans le forum API, COM et SDKs
    Réponses: 6
    Dernier message: 21/10/2005, 16h01
  3. Comment paramétrer un groupe d'option
    Par lou.souleu dans le forum Access
    Réponses: 8
    Dernier message: 17/09/2005, 06h30
  4. Réponses: 5
    Dernier message: 21/12/2004, 12h00

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