javascript - 使用 JavaScript 将指数 LaTeX 语法转换为 PHP 的 pow()

标签 javascript regex latex

我想使用JS来转换嵌套指数LaTeX表达式,例如

2^{3^{4^5}}

PHP 的 pow() 语法

pow(2,pow(3,pow(4,5)))

我知道JS不支持递归正则表达式。该表达式是方程的一部分,因此我希望该解决方案适用于类似的内容

\frac{3}{9}+\frac{2^{\sqrt{4^2}}}{6}

应该输出

\frac{3}{9}+\frac{pow(2,\sqrt{pow(4,2)})}{6} 

就像@AbcAeffchen 的解决方案一样。

我不需要非指数部分的转换。

注意:该解决方案不得要求求助于 PHP 5.6,该版本引入了 ** 运算符

最佳答案

一个丑陋的黑客,

> foo
'2,(3^(4^5))'
> var foo = "2^(3^(4^5))".replace(/\^/g, ",");
undefined
> foo
'2,(3,(4,5))'
> var bar = foo.replace(/(\d,)(?=[^\d])/g, "$1pow");
undefined
> var foobar = bar.replace(/^(.*)$/, "pow($1)")
undefined
> foobar
'pow(2,pow(3,pow(4,5)))'

关于javascript - 使用 JavaScript 将指数 LaTeX 语法转换为 PHP 的 pow(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25135105/

相关文章:

latex - pdflatex 目录中的部分

matlab - MATLAB 的 PDF 输出并包含在 LaTeX 中

javascript - 无法从动态文本框发布数据

java - 如果字符串仅匹配 Java 中的一组,则使用正则表达式来匹配该字符串

php - 正则表达式只允许小写字母

regex - 如何从 MATLAB 中的字符串创建首字母缩略词?

latex - 在TeX中建立牢不可破的方 block

javascript - 我可以在 xampp (localhost) 中运行我的项目,但即使在配置后尝试在另一台计算机中运行时我也无法运行

javascript - 自动 HTML 页面刷新保留滚动位置,使用 anchor

javascript - 在 angular2 中导出 xlsx 文件( typescript )