javascript,正则表达式用大括号解析字符串内容

Men*_*Han 15 javascript regex string-parsing

我是正则表达式的新手.我试图解析字符串中大括号内的所有内容.我查阅了这篇文章作为参考,完全按照其中一个答案提出,但结果出乎意料.

这就是我做的

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"]
Run Code Online (Sandbox Code Playgroud)

我想我错过了什么,我做错了什么?

更新

我能够/g通过全球搜索得到它

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

我怎么能得到没有括号的字符串?

Mik*_*uel 24

"test/abcd{string1}test{string2}test".match(/[^{}]+(?=\})/g)
Run Code Online (Sandbox Code Playgroud)

产生

["string1", "string2"]
Run Code Online (Sandbox Code Playgroud)

它假设每个}都有一个对应的{前面和{...}部分不嵌套.它也不会捕获空白{}部分的内容.

  • 这很好.但是你不需要逃避关闭支撑.`/ [^ {}] +(?=})/ g` (3认同)