我正试图让最后一次出现这种情况。
obj.foo[0].bar[0].name
我尝试使用此代码,但刚刚获得第一个[0]
,如果我将$
放在最后,则无效。
\[(\d+)\](?:(?!\[\d+\]))
答案 0 :(得分:2)
你必须在比赛结束后断言另一个同一组不能某处,而不是紧接着。看到这个修改:
\[(\d+)\](?!.*?\[\d+\])
^^^
或者您可以切换到回溯方法:
.*\[(\d+)\]
这是第一个正则表达式的regex demo,here是另一个正则表达式。
答案 1 :(得分:1)
根据您是否需要括号,您可以使用以下内容:
var r = s.match(/\[\d+\]/g)[1]
如果您不想使用分隔符,可以将它们从组索引中分割出来。
var r = s.match(/\[\d+\]/g)[1].slice(1,-1)