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]);