Ecco uno interessante. Qualcuno ha una buona RegEx per convertire tutto (prima)^(seconda) in Math.pow ((prima), (seconda))?RegEx per a^b invece di pow (a, b)
EDIT:
il migliore che ho finora è
s = s.replace(/((?:\d+\.?\d*)|\w+|\((?:(?:[^\(\)]*(?:\([^\(\)]*\)))*)\))\s*\^\s*((?:\d+\.?\d*)|\w+|\((?:(?:[^\(\)]*(?:\([^\(\)]*\)))*)\))/g, 'Math.pow($1, $2)') // replace expression^expression with Math.pow($1, $2)
Le risposte finora non sono sufficienti generale. Non coprono qualcosa come (var1 + var2)^2 figuriamoci (var1 * (var2 + var3))^2
La soluzione dovrà funzionare con parentesi.
È possibile utilizzare strfriend.com per visualizzare la regex durante la creazione. Questo è quello che ho fatto.
E il più vicino che hai adesso è ...? – Oswald
Come convertire "a * b^c'? 'a^b + c'? 'a^b^c'? –
Non può essere eseguito con la normale espressione regolare. Richiede la ricorsione arbitraria. Se vuoi una risposta ti suggerisco di aumentare la taglia, questo è un problema abbastanza complicato. – kelloti