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

JavaScript Discussion :

Extraire des mots et groupes de mots [RegExp]


Sujet :

JavaScript

  1. #1
    Membre régulier
    Inscrit en
    Novembre 2006
    Messages
    131
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Novembre 2006
    Messages : 131
    Points : 83
    Points
    83
    Par défaut Extraire des mots et groupes de mots
    Bonjour,

    J'ai beau lire la documentation, je ne suis vraiment pas doué avec les expressions régulières...
    Dans mon cas, je souhaite extraire d'une chaine les mots et les groupes de mot (dans mon exemple un groupe de mot = plusieurs mots entre "")

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var maChaine = 'mot1 "mot2 mot3" mot4 et "mot 5"';
    Je dois obtenir un tableau avec les valeurs :

    mot1
    "mot2 mot3"
    mot4
    et
    "mot 5"

    Avec la fonction suivante, j'arrive a extraire mes groupes de mots :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    var resultat = maChaine .match(/"[^"]*"/gi)
    document.write(resultat[0]); //donne '"mot2 mot3"'
    document.write(resultat[1]); //donne '"mot 5"'
    Mais comment extraire aussi les autres mots en une seule expression régulière?

    Au final, je souhaiterai que la fonction match me retourne un tableau avec les valeurs suivantes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    document.write(resultat[0]); //donne 'mot1'
    document.write(resultat[1]); //donne '"mot2 mot3"'
    document.write(resultat[2]); //donne 'mot4'
    document.write(resultat[3]); //donne 'et'
    document.write(resultat[4]); //donne '"mot 5"'
    Merci d'avance

  2. #2
    Invité
    Invité(e)
    Par défaut
    salut,

    pe celle-ci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var s = 'mot1 "mot2 mot3" mot4 et "mot 5"';
    s.match(/("[^"]*")|([^\s]+)/g);
    ("[^"]*") capture les trucs entre guillements.
    ([^\s]+) capture les trucs qui sont pas des espaces blancs (ds mots donc)

  3. #3
    Membre régulier
    Inscrit en
    Novembre 2006
    Messages
    131
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Novembre 2006
    Messages : 131
    Points : 83
    Points
    83
    Par défaut
    Ça semble toujours tellement logique quand on se voit offrir la solution
    Un grand merci, c'est exactement ce que je cherchais

  4. #4
    Expert confirmé
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Points : 4 164
    Points
    4 164
    Par défaut hors-sujet complémentaire
    Citation Envoyé par jowsuket Voir le message
    document.write

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 15/05/2015, 19h49
  2. Extraire des bits successif d'un mot
    Par maestro_mirou dans le forum Réseau
    Réponses: 2
    Dernier message: 13/06/2012, 08h08
  3. [WD-2010] Lié 2 mots ou groupe de mots
    Par Pascal26 dans le forum Word
    Réponses: 6
    Dernier message: 18/08/2011, 08h04
  4. [MySQL] extraire des mots concaténés ensemble pour en faire des liens
    Par oim dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 15/11/2007, 04h32
  5. extraire des mots à partir d'une chaine
    Par freestyler dans le forum Delphi
    Réponses: 5
    Dernier message: 28/09/2006, 15h04

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