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

Java Discussion :

Regexp Pattern et Matcher


Sujet :

Java

  1. #1
    Membre régulier Avatar de Space23
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    185
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 185
    Points : 88
    Points
    88
    Par défaut Regexp Pattern et Matcher
    Bonjour

    J'ai un problème avec ma regexp.

    Ma ligne en entrée est la suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String ligne = "Table: 'Fourchette (23)#08#09";
    Je voudrais obtenir ceci :
    et voila ce que j'obtiens :

    Je m'arrache les cheveux avec cette regexp pourtant toute bête, voici le code que j'utilise :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    String ligne = "Table: 'Fourchette (23)#08#09";
     
    		Pattern patternTableName = Pattern.compile("Table: '(.*)\\#.*"); 
    		Matcher matcher = patternTableName.matcher(ligne);
     
    		String result = null;
    		if (matcher.matches()) {
    			result = matcher.group(1);
    			System.out.println(result);
    		}
    Help?

  2. #2
    Membre émérite Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Points : 2 273
    Points
    2 273
    Par défaut
    Bonjour,
    tu peux être plus précis sur ce que tu essaies de récupérer et sur les données en entrée ?
    Tu peux peut-être matcher jusqu'à la dernière parenthèse ?


  3. #3
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    Si tu ne veux pas que le premier # soit inclu dans .*, il faut utiliser le quantifieur non gourmand:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Pattern patternTableName = Pattern.compile("Table: '(.*?)\\#.*");

  4. #4
    Membre régulier Avatar de Space23
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    185
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 185
    Points : 88
    Points
    88
    Par défaut
    Arf je te remercie tchize tu viens de m'enlever une épine du pied ^^.

    J'avais lu vite fait cette histoire de quantifieur je pense que je vais approfondir un peu le sujet .

    Merci!

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

Discussions similaires

  1. Java Pattern et matcher
    Par Bobble dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 31/05/2010, 15h00
  2. [RegExp] pattern matching adapté
    Par thierry_b dans le forum Collection et Stream
    Réponses: 7
    Dernier message: 06/07/2009, 18h13
  3. [Java][Regexp] Pattern spécial.
    Par Maya_vega dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 05/04/2007, 20h09
  4. [Regexp] pattern pour trouver des fichiers par exclusion d'extension
    Par mnementh64 dans le forum Collection et Stream
    Réponses: 1
    Dernier message: 07/09/2006, 10h34
  5. JDK1.3 Pattern et Matcher
    Par Shabata dans le forum Collection et Stream
    Réponses: 6
    Dernier message: 13/03/2006, 11h29

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