Каким образом можно разбить строку на несколько групп одним выражением?
Хочу разбить [] на отдельные группы, как такое сделать?
Примеры входных данных: int, string, bool, float, array, также могут быть объекты, но могут быть массивы из всех этих типов (int[], int[][], float[] ...)
Не понятна задача, которую вы решаете.
Если вам нужно узнать размерность массива, то почему просто не посчитать количество открывающих скобок во второй группе?
Выражение у вас очень общее, под него подойдет много того, что вы не ожидаете увидеть... лучше переписать более точно.