JSFiddle - React, Tailwind, and code Playground

by Eric Howe

HTML

<div id="out"></div>

JavaScript

function rev(s) {
    return s.split('').reverse().join('');
}

var s = 'a\\,bcde,fgh,ijk\\,lmno,pqrst\\,uv';
$('#out').append('<pre>' + s + '</pre>');
$('#out').append('<hr>');

// Enter bizarro world...
var r = rev(s);

// Split with a look-ahead
var rparts = r.split(/,(?!\\)/);

// And put it back together with double reversing.
var sparts = [ ];
while(rparts.length)
    sparts.push(rev(rparts.pop()));

for(var i = 0; i < sparts.length; ++i)
    $('#out').append('<pre>' + sparts[i] + '</pre>');