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] Récupérer la valeur qui a matché


Sujet :

Collection et Stream Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 85
    Points : 55
    Points
    55
    Par défaut [RegExp] Récupérer la valeur qui a matché
    Bonjour,

    j'ai testé ce bout de code qui fonctionne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    String regex = "[0-9]*";
    String input = "test0123test";
    Boolean isMatch = Pattern.matches(regex, input);
    mais je cherche à récupérer la chaine "0123" qui a matché mon expression "[0-9]*"
    Comment faire ?

    Merci d'avance

  2. #2
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par need2learn Voir le message
    mais je cherche à récupérer la chaine "0123" qui a matché mon expression "[0-9]*"
    Il serait préférable d'utiliser l'expression "[0-9]+" sinon tu auras plein de chaine vide en résultat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    	Matcher matcher = Pattern.compile(regex).matcher(input);
    	while (matcher.find()) {
    		System.out.println(matcher.group());
    	}
    a++

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 85
    Points : 55
    Points
    55
    Par défaut
    Merci adiGuba ! c'est exactement ce que je cherche.

    j'en profite pour te demander si tu connais un site ou je pourrai trouver les expressions régulière qui représente les dates du genre:

    07/12/2009
    Wed, Jul 4, 01
    02001.July.04 AD 12:08 PM
    ...

    comme ce que fait la classe SimpleDateFormat mais à l'inverse (de String vers Date)

    L'objectif c'est de faire une classe qui parse un texte et retrun des Date !

    dois-je écrire les expressions une à une ?

    Merci

  4. #4
    Membre chevronné
    Avatar de Deadpool
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    1 312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 1 312
    Points : 2 011
    Points
    2 011
    Par défaut
    Citation Envoyé par need2learn Voir le message
    Merci adiGuba ! c'est exactement ce que je cherche.

    j'en profite pour te demander si tu connais un site ou je pourrai trouver les expressions régulière qui représente les dates du genre:

    07/12/2009
    Wed, Jul 4, 01
    02001.July.04 AD 12:08 PM
    ...

    comme ce que fait la classe SimpleDateFormat mais à l'inverse (de String vers Date)

    L'objectif c'est de faire une classe qui parse un texte et retrun des Date !

    dois-je écrire les expressions une à une ?

    Merci
    Mais SimpleDateFormat permet également de retourner des dates à partir de String. Intéresse-toi à sa méthode parse.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    SimpleDateDormat sdf = new SimpleDateFormat("dd/MM/yyyy");
    Date date = sdf.parse("30/05/1982");
    A++

    -"Tout ça me paraît très mal organisé. Je veux déposer une réclamation. Je paye mes impôts, après tout!"
    -"JE SUIS LA MORT, PAS LES IMPÔTS! MOI, JE N'ARRIVE QU'UNE FOIS".

    Pieds d'argile (1996), Terry Pratchett 1948 - 2015
    (trad. Patrick Couton)

  5. #5
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 252
    Points : 1 419
    Points
    1 419
    Par défaut
    Regarde du côté de SimpleDateFormat.parse(String).

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 85
    Points : 55
    Points
    55
    Par défaut
    ok je connais cette fonction mais le problème avec est qu'on doit connaitre le format de la date pour pouvoir faire un parse ! Or je souhaite parser un text (celui d'un email par exemple) et récupérer tous ses rendez-vous.

    par exemple je vous donne rendez vous le vendredi 23 janvier 2009.

    je veux la fonction qui parse mon post et détecte que c'est une Date !

    ça relève un peu de la sémantique

    dois-je me taper toutes les combinaisons possible !

  7. #7
    Expert éminent
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Points : 7 679
    Points
    7 679
    Par défaut
    Salut,
    Citation Envoyé par need2learn Voir le message
    dois-je me taper toutes les combinaisons possible !
    On dirait que oui

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 85
    Points : 55
    Points
    55
    Par défaut
    bon

    les gars merci en tous cas ! et si jamais vous trouvez une alternative avant les prochains 3 mois faites moi signe. je serai tjrs à la 45^9 combinaison !

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

Discussions similaires

  1. [WD19] Récupérer une valeur qui provient d'un histogramme empilé.
    Par EriCstoFF dans le forum WinDev
    Réponses: 1
    Dernier message: 05/03/2014, 11h58
  2. Récupérer une valeur qui n'a pas de clé dans une HashMap
    Par NameX dans le forum Collection et Stream
    Réponses: 1
    Dernier message: 07/03/2013, 18h02
  3. Réponses: 6
    Dernier message: 27/02/2011, 10h21
  4. RegExp: Récupérer une valeur en début de chaine
    Par pekka77 dans le forum Langage
    Réponses: 8
    Dernier message: 23/08/2006, 16h07
  5. Réponses: 7
    Dernier message: 16/06/2006, 16h31

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