2010-11-13 91 views
0

我需要一个正则表达式来替换给定字符串中的算术运算符。我需要能够用“|”替换操作符。正则表达式来评估和替换算术运算符操作符

例如,

String input = "5.0+9.0-(-2.0)"; 

String replace = input.replaceAll("[+-//*&&[^.]&&[^(-]]", "|"); 

在这种情况下,我只打算更换括号外的运营商。我认为正则表达式必须进行更多的修改才能读取括号外的“ - ”,但我应该有想法。

回答

1

如果你只是想更换(而不是评估)的算术运算符不属于在括号中,你可以尝试:

String replace = input.replaceAll("[-+*/](?![^(]*\\))","|"); 

Ideone Link