从字符串获取表达式[java]

从字符串获取表达式[java],java,Java,我正在尝试获取字符串中可能是表达式的一部分。我没有找到任何方法来做这件事。问题是,我有一个字符串,它可能有一个或多个表达式,我必须获取它们 例如,字符串是:- IF [100]>[102] THEN [100]-[102] ELSE [102]-[100] 现在,这里[100]表示一个值,将使用100作为主键从数据库中检索,与[102]相同,因此如何获取以下内容 [100]-[102] 及 来自给定字符串的表达式 谢谢大家! 我不太明白你想要实现什么?你的字符串是a-。

我正在尝试获取字符串中可能是表达式的一部分。我没有找到任何方法来做这件事。问题是,我有一个字符串,它可能有一个或多个表达式,我必须获取它们

例如,字符串是:-

    IF [100]>[102] THEN [100]-[102] ELSE [102]-[100]
现在,这里
[100]
表示一个值,将使用
100
作为主键从数据库中检索,与
[102]
相同,因此如何获取以下内容

    [100]-[102]

来自给定字符串的表达式


谢谢大家!

我不太明白你想要实现什么?你的字符串是a-。这是数学意义还是仅仅是一种文本表达?如果我理解正确,您需要从数据库中得到的两个值中减去。这是正确的吗?请提供一个真实的示例(运行时值),而不是上面的表示。最简单的方法是为更简单的表达式创建正则表达式。对于任何更复杂的内容,都必须使用解析器生成器。您可以使用GATE、ANTLR、JFlex等。这可能是一个很好的开始,就像获取
(21)+(22)
或者我们可以从字符串
中说
21+22
评估以下内容:(21)+(22)
。如果这成为可能,一切都会好起来的。
    [102]-[100]