При флаге g в match - скобки игнорируются, ищет только полное вхождение строки.
Классическое решение:
exec в цикле.(крайне рекомендую прочитать статью полностью)
Ленивое решение - replace:
var str = 'abcde abcde';
var re = /ab(cde)/g;
var outArray = [];
str.replace(re, function(matchedString, firstGroup, secondGroup){
outArray.push(firstGroup);
});
alert(outArray);