JSFiddle - React, Tailwind, and code Playground
HTML
<pre id="output"></pre>
JavaScript
//// Only used to display output on jsfiddle
var output = document.getElementById('output');
log = (n,i,o) => {
output.innerHTML = output.innerHTML + n + ': ' + i + ' =>\n ' + o + '\n\n';
}
//// My function
f=z=>{a=[],i=0;c=n=>{while(n[M='match'](/\(/)){n=n[R='replace'](/\(([^()]+)\)/g,(q,p)=>{m=++i;a[m]=c(p);return'['+m+']'})}n=n[R](/(\](?=\[|[\d])|[\d](?=\[))/g,'$1*');n=n[R](/\[?[\d\.]+\]?[*/]\[?[\d\.]+\]?/g,q=>{a[++i]=q;return'['+i+']'});n=n[R](/([\d.]+)\+(\[[\d]+\])/g,'$2+$1');while(n[M](/\[/)){n=n[R](/(\[?[\d\.]+\]?)\*(\[?[\d\.]+\]?)/g,(q,p,r)=>{t=a[r[R](/[\[\]]/g,'')];return r[M](/\[/)?(t&&t[M](/\+|\-/)?(r+'*'+p):q):q});n=n[R](/\[(\d+)\]/g,(q,p)=>{return a[p]+(a[p][M](/\+|-/)?'=':'')})}return n};return c(z)[R](/./g,'$& ')+'='}
//// TESTS
var input;
input = '1+(5*4)/7'; // Output: 5 * 4 / 7 + 1 =
log( 1, input, f(input) );
input = '6*(2/3)'; // Output: 2 / 3 * 6 = OR 6 * 2 / 3
log( 2, input, f(input) );
input = '(7-3)/2'; // Output: 7 - 3 = / 2 =
log( 3, input, f(input) );
input = '(7.23)(1.6)'; // Output: 7 . 2 3 * 1 . 6 =
log( 4, input, f(input) );
input = '(7)(6-6)'; // Output: 6 - 6 = * 7 =
log( 5, input, f(input) );
input = '(5+(2))(4)'; // Output: 5 + 2 = * 4 =
log( 6, input, f(input) );
input = '(5+2)4'; // Output: 5 + 2 = * 4 =
log( 7, input, f(input) );
input = '6+(4*2)'; // Output: 6 + 2 = * 7 =
log( 8, input, f(input) );