javascript, regex analyse le contenu de la chaîne entre accolades

je suis nouveau sur le regex. Je suis en train d'analyser toutes les matières à l'intérieur des accolades dans une chaîne de caractères. J'ai regardé ce post comme une référence et a fait exactement comme l'une des réponses suggèrent, cependant, le résultat est inattendu.

Voici ce que j'ai fait

var abc = "test/abcd{string1}test{string2}test" //any string
var regex = /{(.+?)}/
regex.exec(abc) //i got ["{string1}", "string1"]
             //where i am expecting ["string1", "string2"]

je pense que je suis absent quelque chose, ce que je fais mal?

mise à jour

j'ai été capable de le faire avec /g pour une recherche globale

var regex = /{(.*?)}/g
abc.match(regex) //gives ["{string1}", "{string2}"]

comment puis-je obtenir de la chaîne w/o entre parenthèses?

source d'informationauteur MengQi Han