Выражение в текстовом формате TypeScript
Имеется строка
var text = '5 + 7 + 9 * (5-1*2) -1'
Можно ли каким то образом вычислить значение выражения в скобках?
Источник: Stack Overflow на русском
Имеется строка
var text = '5 + 7 + 9 * (5-1*2) -1'
Можно ли каким то образом вычислить значение выражения в скобках?
Вы можете использовать регулярные выражения:
var re = /\(.+\)/;
var text = '5 + 7 + 9 * (5-1*2) -1'
result = re.exec(text)
if (result) console.log(eval(result[0]))
Да, можно. Для этого есть встроенная функция eval
.
ПРЕДУПРЕЖДЕНИЕ
Имейте в виду, что
eval
можно вызывать только когда вы доверяете коду. Если возможно - вообще не выполнять код, который вводит пользователь.
Пример, как можно использовать eval
:
let text = '5 + 7 + 9 * (5-1*2) -1';
console.log(eval(text));
Регулярные выражения необязательны.