Regex pour saisir des chaînes de caractères entre crochets
J'ai la chaîne suivante: pass[1][2011-08-21][total_passes]
Comment puis-je extraire les éléments entre crochets dans un tableau? J'ai essayé
match(/\[(.*?)\]/);
JS:
var s = 'pass[1][2011-08-21][total_passes]';
var result = s.match(/\[(.*?)\]/);
console.log(result);
mais cela ne renvoie [1]
.
Vous ne savez pas comment faire.. Merci d'avance.
Vous devez vous connecter pour publier un commentaire.
Vous y êtes presque, vous avez juste besoin d'un mondial de correspondance (note de l'
/g
drapeau):Exemple: http://jsfiddle.net/kobi/Rbdj4/
Si vous voulez quelque chose qui ne saisit le groupe (à partir de MDN):
Exemple: http://jsfiddle.net/kobi/6a7XN/
Une autre option (je préfère), est d'abuser de la remplacer rappel:
Exemple: http://jsfiddle.net/kobi/6CEzP/
ajouter l'indicateur global de votre regex , et de réitérer le tableau retourné .
Je ne suis pas sûr si vous pouvez l'obtenir directement dans un tableau. Mais le code suivant doit travailler pour trouver toutes les occurences et ensuite les traiter:
Veuillez noter: je pense vraiment que vous avez besoin de la classe de caractères [^\]] ici. Sinon dans mon test de l'expression correspond au trou de la chaîne, car ] est aussi correspondances .*.
[C#]
vous pouvez utiliser foreach sur la correspondance de chaînes.