如何根据BODMAS规则获取括号内的值

时间:2018-05-18 07:50:14

标签: regex parsing preg-match

我尝试并坚持这个只能在1对括号上工作的公式:

preg_match('#\((.*?)\)#', $text, $match);
print $match[1];

我想要做的是在第一个右括号之前的最后一个左括号之后解析文本。

例如,我有这样的等式:

  

1+(2+(3+(5-6)))+(7-8)

将被解析的文本是" 5-6"。

1 个答案:

答案 0 :(得分:1)

匹配(>除()>之外的任何内容)

$text = '1+(2+(3+(5-6)))+(7-8)';
preg_match('/\(([^\(\)]+)\)/', $text, $match);
var_dump($match);