<?php $re = '/(?<=\(|^)([^()]*)/'; $str = "0A,0B(1A((3A, 3B, 3C)))"; foreach ($matches[1] as $m){ }
Standard input is empty
Array
(
[0] => Array
(
[0] => 0A
[1] => 0B
)
[1] => Array
(
[0] => 1A
)
[2] => Array
(
[0] =>
)
[3] => Array
(
[0] => 3A
[1] => 3B
[2] => 3C
)
)