> '{#abc,def#}'.match(/{#(.*?)#}/)[1]
'abc,def'
UPDATE
> var xs = '{#abc,def#} foobar {#ghi,jkl#}'.match(/{#(.*?)(?=#})/g);
> for (var i = 0; i < xs.length; i++) xs[i] = xs[i].substr(2);
> xs
[ 'abc,def', 'ghi,jkl' ]
또는 한 - 라이너 : 모든 브라우저/구현을 지원하려면
var tokens = (str.match(/{#(.*?)(?=#})/g) || []).map(function(match)
{
return match.substr(2);
});
console.log(tokens);//[ 'abc,def', 'ghi,jkl' ]
것은, 당신이 배열 proptotype을 확대해야 할 수도 있습니다 :
if (!Array.prototype.map)
{
Array.prototype.map = function(callback)
{
if (typeof callback !== 'function')
{
throw new TypeError(callback + ' is not a function');
}
for(var i = 0;i<this.length;i++)
{
this[i] = callback(this[i]);
}
return this.slice();
};
}
이것은''{# abc, def #} foobar {# ghi, jkl #} '와 같은 문자열로는 실패합니다.' –
@EliasVanOotegem how? –
@ m.buettner : js에는 그룹과 일치하는 일치 항목이 없습니다. 그들 모두를 포착하기 위해 간부/교체에 의지해야합니다. – georg