PHP и RegEx: разбить строку запятыми, которые не находятся в квадратных скобках (а также во вложенных скобках)

Два дня назад я начал работать над анализатором кода, и я застрял.

Как можно разделить строку запятыми, которые не заключены в квадратные скобки, позвольте мне показать вам, что я имею в виду:

У меня есть эта строка для анализа:

one, two, three, (four, (five, six), (ten)), seven

Я хотел бы получить этот результат:

array(
 "one"; 
 "two"; 
 "three"; 
 "(four, (five, six), (ten))"; 
 "seven"
)

но вместо этого я получаю:

array(
  "one"; 
  "two"; 
  "three"; 
  "(four"; 
  "(five"; 
  "six)"; 
  "(ten))";
  "seven"
)

Как я могу сделать это в PHP RegEx.

Заранее спасибо

Ответы на вопрос(7)

Ваш ответ на вопрос