Is this a regular expression needed? If not, you can use the JavaScript engine (starting with Java 1.6) to perform calculations from String, for example:
ScriptEngineManager factory = new ScriptEngineManager(); // create a JavaScript engine ScriptEngine engine = factory.getEngineByName("JavaScript"); Double d=(Double)engine.eval("1 + 2 * 3"); System.out.println(d);
source share