Keren Keren - 7 months ago 25
Java Question

Split string by comma if not within square brackets or parentheses

I have a long string, and I want to set it to an array by splitting it by the comma as long as the comma is not within square brackets or parentheses. I've tried a couple of variations but not getting exactly what I'm looking for...

Example 1:

Harry Potter, Hermione, (Severus, Snape)
Harry Potter
Severus, Snape

Example 2:

Harry Potter, [and, the chamber, of secrets], Hermione, (Olivanders, Wands)
Harry Potter
and, the chamber, of secrets
Olivanders, Wands


You can use the following regex with global flag.


Here is a demo. It is inspired by