JSFiddle - React, Tailwind, and code Playground
JavaScript
var formula = '(-5*(6+3)-5)^((2*2)-2)+(4*5)';
var parts = formula.match(/((?:(?=[^()]*\d)\d*(?:\.\d*)?)|(?:\((?:(?:[^()]+)|(?:[^()]*\([^()]*\)[^()]*)+)\)))\^((?:(?=[^()]*\d)\-?\d*(?:\.\d*)?)|(?:\((?:(?:[^()]+)|(?:[^()]*\([^()]*\)[^()]*)+)\)))/);
document.writeln(parts[1] + '<br>' + parts[2]);