Второй элемент массива - то, что нужно:
'.a'.match(/\.(\w+)/)
// -> [ '.a', 'a' ]
Пробую получить больше классов и добавляю флаг g.
'.a.b.c.d'.match(/\.(\w+)/g);
// -> [ '.a', '.b', '.c', '.d' ]
Почему перестали возвращаться имена без точек?
Ожидание 1:
[ '.a', 'a', '.b', 'b', '.c', 'c', '.d', 'd' ]
В идеале:
[ 'a', 'b', 'c', 'd' ]
В общем нужно проверить, что на протяжении всей строки идет чередование "точка-слово-точка-слово..." и если это так, забрать только слова