【发布时间】:2012-11-20 18:17:17
【问题描述】:
6*x + 7 = 7*x + 2 - 3*x
当我们将等式的右侧移动到左侧时,我们需要将运算符符号从 + 翻转到 - ,反之亦然。
使用 java regex replaceAll,我们可以将所有 + 替换为 -。结果,所有的操作符都变成了 -'s,使得我们无法恢复所有的 +'s。
作为一种解决方法,我遍历字符串并在遇到一个时将 + 更改为 - ,反之亦然。但我仍然想知道是否有办法在 Java 中使用正则表达式在布尔值对之间翻转?
【问题讨论】:
-
你真的不应该使用正则表达式来处理数学公式。使用标记器并使用标记。
-
从字符串生成语法树,对树进行操作,然后渲染回字符串。更少的麻烦和更少的错误。