JSFiddle - React, Tailwind, and code Playground

by Darby Rathbone

JavaScript

var breakapart = function (s) {

    s = s.match(/(?:(\((.*)\))|([\*\/+\-^])|(\d*\.?\d+)|(\D))/gi).map(function (e) {
        if (/^\((.*)\)$/gi.test(e)) {
            e = e.replace(/^\((.*)\)$/gi, '$1');
            return breakapart(e);
        }
        return e;

    });
    return s;

};
var byequals = function (s) {
    s = s.split(/(=)/gi);
    return s.map(function(e){if(/\d*[\*\/+\-^]\d+/.test(e)){return  breakapart(e);}
                             return e;
};
console.dir(byequals('x(1.1+-21)*3/4=-5'))