Вы можете использовать split
, который удаляет [._]+
(любая подстрока, содержащая точки или этажи) и filter
(чтобы удалить начальную пустую строку):
'_A._B._C._D._F.f'.split(/[._]+/).filter(function(s){ return s.length > 0})
# => [ "A", "B", "C", "D", "F", "f" ]
РЕДАКТИРОВАТЬ: Упрощение, предлагаемое вкомментарии:
'_A._B._C._D._F.f'.split(/[._]+/).filter(Boolean)
# => [ "A", "B", "C", "D", "F", "f" ]