Je veux extraire tous mots entre accolades, donc j'ai une expression comme celle-ciComment extraire des mots entre accolades en utilisant des expressions régulières?
foo {bar} moo {mar}
La chaîne en fonction peut avoir un certain nombre de ces mots, mais je commence à penser que je » J'aborde ce problème de la mauvaise façon.
Ma tentative
Et j'ai essayé d'extraire les mots accolades en groupes afin que je puisse utiliser chaque match. Donc, j'ai fait une regex:
String rx = ".*\\{({GROUP}\\w+)\\}.*";
Note: J'utilise la syntaxe JRegex donc je dois échapper quelques-unes des Curlies.
Résultat
Le résultat que je reçois est un (mais correct) correspondent bar
, alors que je me attends deux matches bar
et mar
. Qu'est-ce que j'ai mal compris, et comment le corriger? J'ai probablement besoin d'utiliser un autre quantificateur pour la partie .
, mais j'espère que vous pourrez m'aider aussi.
Merci beaucoup d'avance!
Les accolades peuvent-elles être imbriquées? – MAK