I write some java code to split string into array of string. First, I split that string using regex pattern \"\\\\,\\\\,|\\\\,\" and then I split using pattern
\"\\\\,\\\\,|\\\\,\"
How regex works: The state machine always reads from left to right. ,|,, == ,, as it always will only be matched to the first alternation:
,|,,
,
(source: gyazo.com)
,,|, == ,,?:
,,|,
,,?
However, you should use ,,? instead so there's no backtracking: