Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 16/09/2011, 20h19   #1
Membre du Club
 
Inscription : novembre 2006
Messages : 131
Détails du profil
Informations personnelles :
Âge : 28

Informations forums :
Inscription : novembre 2006
Messages : 131
Points : 51
Points : 51
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 :
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 :
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 :
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
jowsuket est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/09/2011, 20h56   #2
Membre éclairé
 
Homme
F5(){F5}
Inscription : avril 2008
Messages : 256
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : F5(){F5}
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : avril 2008
Messages : 256
Points : 320
Points : 320
salut,

pe celle-ci
Code :
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)
galerien69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/09/2011, 21h03   #3
Membre du Club
 
Inscription : novembre 2006
Messages : 131
Détails du profil
Informations personnelles :
Âge : 28

Informations forums :
Inscription : novembre 2006
Messages : 131
Points : 51
Points : 51
Ça semble toujours tellement logique quand on se voit offrir la solution
Un grand merci, c'est exactement ce que je cherchais
jowsuket est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/09/2011, 22h30   #4
Expert Confirmé Sénior
 
Avatar de RomainVALERI
 
Homme Romain VALERI
POOête
Inscription : avril 2008
Messages : 2 574
Détails du profil
Informations personnelles :
Nom : Homme Romain VALERI
Âge : 35
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : POOête

Informations forums :
Inscription : avril 2008
Messages : 2 574
Points : 4 077
Points : 4 077
Par défaut hors-sujet complémentaire

Citation:
Envoyé par jowsuket Voir le message
document.write
__________________

...pour les linguistes et les curieux >>> générateur de phrases aléatoires

__________________
RomainVALERI est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h10.


 
 
 
 
Partenaires

Hébergement Web