javascript - 在 Javascript 中使用插入符号作为指数

标签 javascript regex math

<分区>

我正在尝试创建一个简单的图形计算器,用户可以在其中输入 f 的函数(例如 f(x) = x^2+2x+6)。基本上,javascript 用一些数字替换函数中的 x,然后使用 eval() 计算函数。问题是,我希望用户能够键入 x^2 而不是默认的 javascript,即 Math.pow(x,2)。我猜这将是一些正则表达式,但我对它们没有什么经验,个人觉得它们真的很困惑。是否可以将 x^3-x^2 之类的语句转换为 Math.pow(x,3)-Math.pow(x,2) ??

非常感谢帮助。

最佳答案

你想使用一个看起来类似于

的正则表达式
(.+)\^(.+)

这将匹配两个选择,然后您可以像这样使用这些匹配替换该字符串的实例。

Math.pow($1, $2)

Javascript 通过 String.prototype.replace 中的函数选项支持这种操作

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace#Specifying_a_function_as_a_parameter

关于javascript - 在 Javascript 中使用插入符号作为指数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22056487/

相关文章:

javascript - HTML 样式表更改错误

javascript - 事件监听器不起作用

java - 使用java清除html代码和重音符号中的字符串

javascript - 如何删除正则表达式中第一个数字后跟逗号?

Java 高效改进代码

javascript - 如何让边框像进度条一样向前移动(react.js)

javascript - 如何使用 JavaScript 将数据发送到具有特定 ID 的元素?

regex - 在 Perl 正则表达式中没有获得多个替换

javascript - 打印 5 个乘法表(从 1 到 12)

java - 如何生成随机数以提供正确的除法结果