Поскольку вы хотите, чтобы соседние символы-разделители обрабатывались как один разделитель, просто объедините их в один класс символов.
\{+|\(+|\[+|\]+|\)+|\,|\s+ → [{(\[\]),\s]+
Однако, поскольку у вас нет +
на ,
, похоже, что несколько запятых не следует рассматривать как один разделитель, поэтому нам нужно обрабатывать это по-разному.
Также кажется, что вы забыли }
.
[{}()\[\]\s]*,[{}()\[\]\s]*|[{}()\[\]\s]+
Как Java литерал:
"[{}()\\[\\]\\s]*,[{}()\\[\\]\\s]*|[{}()\\[\\]\\s]+"