Мне кажется, что автору надо что-то вроде этого:
var s = 'dY%bd#!cL!%h#dY*';
var r = s.match(/\w+|\W+/g);
alert(r.join('\n'));
но только "раскиданное" по двум массивам - один цифробуквенные подстроки, другой - остальные символы.
Автор не смог ясно и толково объяснить что же он хочет получить в результате - то есть что на входе мы знаем, а что на выходе - нет. В общем. это гадание чистой воды и заниматься телепатией не хочется.