Regex+Javascript calculator?

Regex+Javascript calculator?

本文关键字:calculator Regex+Javascript      更新时间:2023-09-26

我目前正在练习Regex,我正在考虑制作类似计算器的东西->当我输入"104+33"时,它应该将文本替换为"104+33 = 137"。我已经做了一个基本的设置,所以现在只有regex的东西:

What I tried

function regexStuff(string){
    return string.replace(/(['d+])'+(['d+])/g, '$1 + $2 = '+eval('$1+$2'));
}

ERROR: Uncaught ReferenceError: $1 is not defined

重要

正如我已经提到的:我是这个正则表达式的新手。如果你能用一两句话解释一下就太好了。谢谢!

当你可以避免使用eval时,就这样做:它既慢又危险。

在这里你可以做

return string.replace(/('d+)'+('d+)/g, function(a,b,c){ return a+'='+(+b+ +c) });

例如:string = "104+33",则返回"104+33=137"

注意,我将(['d+])替换为('d+):你的组匹配的是单个数字,而不是数字。

作为最后的通知,需要注意的是,您将无法在仅使用正则表达式构建计算器方面走得太远。您迟早需要使用解析器来处理复杂的方程。