我有这个正则表达式模式:
rxp = /\[!lang=([^}]+)\]/g
这看起来像这样:
[!lang=javascript]
var foo = 'bar';
并正确返回["javascript"]
:
var found = [], rxp = /\[!lang=([^}]+)\]/g, curMatch;
while( curMatch = rxp.exec( myCodeStringAbove) ) {
found.push( curMatch[1] );
}
// found === ['javascript']
但
如果我以后有括号:
[!lang=javascript]
var foo = 'bar';
var fubar = [];
它吓坏了并返回:
["javascript] var foo = 'bar'; var fubar = ["]
我需要的
我需要修改我的正则表达式模式,以便即使后面有括号,它也是贪婪的,并且在第一个括号处停止,如上面的第一个示例所示。我该怎么做呢?