This behaviour is as I expect. Split on any comma not preceded by '----' and not followed by '----'.
To get the desired output simply split on a comma.
I think the problem here is in your expectation and not in the code itself.
In reply to Re: Zero-width assertions fail with split
by demerphq
in thread Zero-width assertions fail with split
by Ovid
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |