我有一个用于乳胶的字符串,后来该字符串...大致
$string = "\\sin\\left(x\\right)^{2}";
其中sin也可以是cos,tan,sec,log等。指数也可以是任何整数,float或变量,自变量可以是任何值。
我想要一个将它变成的正则表达式函数
$string = "\\sin^{2}\\left(x\\right)";
或更一般地
generalstring = "f(t)^{n}";
要变成"f^{n}(t)";
我的道歉提前,我有一种感觉,这应该是非常容易做到的,我刚学这个。
哦,我也想将其限制为仅带有trig函数日志的字符串以及其他一些我的函数无法正确打印的字符串。
请尝试以下代码:
$string = preg_replace('/\\\\(\w+)\\\\left\\((.+?)\\\\right\\)\\^\\{([^}]+)\\}/','\\\\$1^{$3}\left($2\right)',$string);
对我来说,输出是:
print "$string\n";
\sin^{2}\left(x\right)
另一个测试:
$string = "\\cos\\left(3x\\right)^{2.6}";
输出:
\cos^{2.6}\left(3x\right)
它也适用于多种功能,因为默认情况下preg_replace
是全局的。
$string = "\\sin\\left(x\\right)^{3}\\cos\\left(y\\right)^{2}";
\sin^{3}\left(x\right)\cos^{2}\left(y\right)
编辑:请注意更正的表达式。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句