我在使用正则表达式时遇到问题。
这就是我所拥有的:
String expr = "1+4+3-2"
Matcher m;
while(Pattern.matches("[+-].*", expr))
{
(m = Pattern.compile("[+-](.*)").matcher(expr)).find();
expr = parseTerm(m.group(1));
System.out.println("+: " + expr)
}
我试图在上面的字符串中找到“+”或“-”(或任何其他带有 + 和 - 的计算,例如1+D[0]+D[5]
)。当我找到 + 或 - 时,我想用操作的左侧和右侧的数字进行操作。所以 1+4 将加到 5。然后 5+3 将加到 8,最后 8-2 将减去最终得到 6。由于某种原因,我当前的代码没有通过 while 循环,所以我m 不能加或减任何东西。我究竟做错了什么?