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 :

REGEX problème avec les "


Sujet :

Collection et Stream Java

  1. #1
    storm_2000
    Invité(e)
    Par défaut REGEX problème avec les "
    Bonjour, j'ai une chaine de caractère du type :
    bonjour "tu vas bien" ? Alors "quoi"

    j'aimerais créer une REGEX pour lire le lien ma regex c'est donc :
    .*\"(.*)\".*

    mais en sortie j'ai : tu vas bien" ? Alors "quoi.
    Comment faire pour n'avoir que tu vas bien ? merci

  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
    Par défaut
    Vu que ta régex s'exprime dans une chaîne de caractère String en java, il faut faire \\\" pour exprimer un "...


    Tu veux récupérer un ".
    En regex, tu dois donc faire \".
    En java, tu dois donc faire \\\".

    (je crois, pas vérifié)

  3. #3
    storm_2000
    Invité(e)
    Par défaut
    Ca ne change pas le problème il prend toujours la même chaine...

  4. #4
    Membre Expert Avatar de herve91
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 282
    Par défaut
    Peut-être :
    ^[^\"]*\"([^\"]*)\".*

  5. #5
    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
    Par défaut
    Citation Envoyé par storm_2000
    Ca ne change pas le problème il prend toujours la même chaine...
    Ah oui OK j'avais pas compris le problème...

    Et ce que j'ai dis est peut-être faux d'ailleurs, y'a pas besoin de \ devant un ", non?

  6. #6
    storm_2000
    Invité(e)
    Par défaut
    Si c'est bon il en faut en moin un pour le déspécialiser
    herve91 merci aussi mais ca ne fonctionne toujours pas

  7. #7
    Membre émérite Avatar de yann2
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2004
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 897
    Par défaut
    Salut

    Et comme ça ?


  8. #8
    storm_2000
    Invité(e)
    Par défaut
    A quoi sert le ?

    merci

    PS : sinon je test des ce soir et j'édite le message pour dire si ca marche ou non

  9. #9
    Membre émérite Avatar de yann2
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2004
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 897
    Par défaut
    Citation Envoyé par javadoc
    Greedy quantifiers
    X? X, once or not at all
    X* X, zero or more times
    X+ X, one or more times
    X{n} X, exactly n times
    X{n,} X, at least n times
    X{n,m} X, at least n but not more than m times

    Reluctant quantifiers
    X?? X, once or not at all
    X*? X, zero or more times
    X+? X, one or more times
    X{n}? X, exactly n times
    X{n,}? X, at least n times
    X{n,m}? X, at least n but not more than m times
    Normalement le ? va faire que tu vas récupérer le plus petit groupe possible (enfin j'espère )

    bon courage.

  10. #10
    Membre éprouvé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 94
    Par défaut
    Le plus simple est d'utiliser la fonction find() qui cherche une sous séquence sans mettre les jokers de début et de fin que tu dois mettre pour matches et lookingAt

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Pattern pattern = Pattern.compile("\"(.*)\"");
    Matcher matcher = pattern.matcher(maString);
    while (matcher.find()){
        System.out.println(matcher.group(1));
    }

Discussions similaires

  1. [DATA] REGEX : Problème avec les assertions arrières
    Par JeromeMATHIAS dans le forum SAS Base
    Réponses: 4
    Dernier message: 07/01/2012, 09h48
  2. Problème avec les quote
    Par student_php dans le forum Langage
    Réponses: 4
    Dernier message: 13/12/2010, 20h27
  3. Réponses: 15
    Dernier message: 21/02/2007, 17h29
  4. [RegEx] Problème avec les regex
    Par dragon noir dans le forum Langage
    Réponses: 3
    Dernier message: 24/07/2006, 11h26
  5. Formulaires : problème avec les slashes et les quotes
    Par GarGamel55 dans le forum Langage
    Réponses: 1
    Dernier message: 12/10/2005, 15h59

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