正则瓜分字符

正则分割字符字符串是ul[classxl xl2 cl] div.test ul[idtest]我想用空格分割字符,但是[]号里面的空格不

正则分割字符
字符串是
ul[class=xl xl2 cl] div.test ul[id=test]

我想用空格分割字符,但是[]号里面的空格不要分,单用正则可以实现这个功能吗?比如分之后,结果如下
ul[class=xl xl2 cl]
div.test 
ul[id=test]

如果正则无法实现,其他思路呢?

[解决办法]

PHP code
$s = 'ul[class=xl xl2 cl] div.test sasa ul[id=test]';preg_match_all('/\w+\[[^]]+]|[^\s]+/', $s, $r);print_r($r);