我有一个数学表达式作为字符串,例如:(5 + 4) - 5 - (6 - (3 - 4) + (5 - (3 - 6)))
我正在尝试使用正则表达式来提取括号内不包含其他括号的表达式。在这种情况下,它将是 (5 + 4)、(3 - 4)、(3 - 6)。
我认为有两种可能的方法:1.排除也包含括号或2的匹配项。仅包含字符串包含数字或+、-、/、*的匹配项,即。(3*4)、(5/6)、(3) 等...
到目前为止,我有:
String ex = "(5 + 4) - 5 - (6 - (3 - 4) + (5 - (3 - 6)))";
String match = "";
Pattern pattern = Pattern.compile("\\(([^\\)]+)\\)");
Matcher matcher = pattern.matcher(ex);
if(matcher.find()){
match = matcher.group();
}
不过,我只得到 (5 + 4) 。我对正则表达式很陌生,所以任何帮助都将不胜感激!
jeck猫
泛舟湖上清波郎朗
相关分类