Znajdź odpowiedź na równanie łańcucha bez użycia eval ()

Potrzebuję sposobu na wzięcie równania podanego jako ciąg i znalezienie jego matematycznej odpowiedzi, wielkim zastrzeżeniem jest to, że nie mogę używać eval ().

Wiem, że równanie będzie zawsze zawierało liczby, cztery operatory matematyczne (tj. * / + -) i nawiasy, ale może zawierać spacje w łańcuchu. Oto kilka przykładów.

4 * 4
4+6/3
(3 / 2)*(4+8)
(4+8) * 2

Zgaduję, że to będzie musiało być zrobione z jakimś regexem?

questionAnswers(2)

yourAnswerToTheQuestion