Php 如何制作正则表达式来计算类似于5.5+;0.5 * 56

Php 如何制作正则表达式来计算类似于5.5+;0.5 * 56,php,regex,Php,Regex,当您在谷歌搜索中键入以下内容: 5.5 + 0.5 * 56 谷歌计算一下 5.5 + (0.5 * 56) = 33.5 这是一个非常棒的正则表达式模式,但我对正则表达式不是很在行:(谷歌做的是解析数学表达式,它不使用匹配模式 你需要一个递归下降解析器:据我所知,regex不能做这样的计算……谷歌也不是仅仅通过使用正则表达式来开发他的搜索引擎。要做这种工作,你需要自己实现一个表达式计算器。几年前,我开发了一个简单的计算器,它在网上运行得非常好有大量的例子可以这样做…希望它是heelps!

当您在谷歌搜索中键入以下内容:

5.5 + 0.5  * 56
谷歌计算一下

5.5 + (0.5 * 56) = 33.5
这是一个非常棒的正则表达式模式,但我对正则表达式不是很在行:(

谷歌做的是解析数学表达式,它不使用匹配模式


你需要一个递归下降解析器:

据我所知,regex不能做这样的计算……谷歌也不是仅仅通过使用正则表达式来开发他的搜索引擎。要做这种工作,你需要自己实现一个表达式计算器。几年前,我开发了一个简单的计算器,它在网上运行得非常好有大量的例子可以这样做…希望它是heelps!

用于基于模式搜索和操作文本。同样,不是它能识别的所有模式。它只能理解基于(中的类型3语法)的模式

这里显示的内容是由数学表达式解析器完成的。只需在谷歌上搜索一下,您就会发现很多都是免费提供的。如果您使用的浏览器中有JavaScript控制台,只需使用
eval
解析表达式即可

var expression = "5.5 + 0.5  * 56";
eval( expression );
// 33.5