Я хочу создать калькулятор с переменными, но где переменные и расчет определяются пользователем. Я создал программу для получения всего этого, но теперь я хочу заменить переменные на их значения в расчете.
Чтобы не заменять только часть для переменной (например, если Я определил «m» и «m1», я не хочу заменять m в «m1» значением «m»), я должен соблюдать следующие условия:
Перед именем переменной есть либо открывающая скобка, либо операция
После имени переменной есть либо закрывающая скобка, либо операция
Пробелы удаляются, когда я получаю расчет (я еще не включил эту функцию)
Для этого я сделал следующий код:
for (var i = 0; i < names.length; i++)
{
regex = "(\+|\-|\*|\/|\()" + names[i].value + "(\+|\-|\*|\/|\))"
replacement = "$1" + values[i].value + "$2"
calculation = calculation.replace(regex, replacement)
}
Например, для переменной 'm' я получаю регулярное выражение: (\+|\-|\*|/|\()m(\+|\-|\*|/|\))
Проблема в том, что ничего не найдено (я пробовал с (m+n+x)
). Я знаю, что проблема связана с регулярным выражением, но я не могу ее найти.