正则表达式java如何添加2个值?

时间:2012-11-15 22:44:02

标签: java regex

我如何解析和添加两个值? 我使用这种模式:

String s = "6 + 7 =";

包含的间距,我需要得到“13”

可以使用正则表达式,还是有其他方法可以轻松地完成此操作?

提前感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

如果你想使用正则表达式,你可以这样做:

Pattern pattern = Pattern.compile("(\\d+)\\s*\\+\\s*(\\d+)\\s*=");
Matcher matcher = pattern.matcher("6 + 7 =");
if (matcher.matches()) {
    System.out.println(Integer.valueOf(matcher.group(1)) + Integer.valueOf(matcher.group(2)));
}

答案 1 :(得分:1)

它必须是正则表达式吗?如果不是,您可以使用JavaScript引擎(自Java 1.6起)从String进行计算,例如:

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);