Это не школьное задание или что-то еще, но я понимаю, что это в основном академический вопрос. Но я изо всех сил пытался разобрать «математический» текст и найти ответ.
Например - я могу понять, как анализировать '5 + 5' или '3 * 5' - но у меня не получается, когда я пытаюсь правильно объединить операции в цепочку.
(5 + 5) * 3
В основном меня просто беспокоит то, что я не могу понять это. Если кто-нибудь может указать мне направление, я бы очень признателен.
EDIT
Спасибо за все быстрые ответы. Извините, я не справился лучше.
Во-первых, я не использую регулярные выражения. Я также знаю, что уже есть доступные библиотеки, которые будут принимать в виде строки математическое выражение и возвращать правильное значение. Итак, я в основном смотрю на это, потому что, к сожалению, я не "понимаю".
Второе. То, что я пытался сделать (возможно, неправильно), но сначала я считал «(» и «)» и оценивал самые глубокие предметы. В простых примерах это сработало; но мой код не красивый и более сложные вещи вылетает. Когда я «вычислил» самый низкий уровень, я модифицировал строку.
Итак ...
(5 + 5) * 3
Превратится в
10 * 3
Который затем оценил бы
30
Но это было просто «неправильно».
Надеюсь, это поможет прояснить ситуацию. Я обязательно проверю предоставленные ссылки.