Javascript 在分隔符(而不是全局分隔符)之间匹配子字符串

Javascript 在分隔符(而不是全局分隔符)之间匹配子字符串,javascript,regex,string,pattern-matching,Javascript,Regex,String,Pattern Matching,我试图检索下面代码中花括号之间的字符串。但它不是将string1,string2等…而是将string1}{string2}{string3}{string4}{string5}{string6放在一个字符串中 var m = "{string1}{string2}{string3}{string4}{string5}{string6}"; var res = /\{(.*)\}/g.exec(m); alert(res.length); // returns 2 alert(res[1])

我试图检索下面代码中花括号之间的字符串。但它不是将
string1
string2
等…而是将
string1}{string2}{string3}{string4}{string5}{string6
放在一个字符串中

var m   = "{string1}{string2}{string3}{string4}{string5}{string6}";
var res = /\{(.*)\}/g.exec(m);
alert(res.length); // returns 2
alert(res[1]);     // returns string1}{string2}{string3}{string4}{string5}{string6

知道如何修复它吗?

为惰性匹配设置

/{(.*?)}/g

谢谢您的回复!知道为什么它仍然返回长度等于2而不是返回其他子字符串吗?@StephaneKouakou,因为您需要在循环中运行
exec
,以获取所有子字符串。请阅读此处的文档:。