我正在编写一个执行分隔符检查的程序。当用户输入一个表达式时,例如
12+{2*[3*(24+45)+5]}
我需要检查分隔符是否匹配(有点像 java 编译器在我们的表达式中检查的内容)。
我知道这可以通过大量if
/else if
语句来完成,但我记得使用正则表达式处理字符串,例如:
if(s.matches("[abc]+")
System.out.print(s);
但这不适用于角色。如果我能写一个类似于上面的表达式,那就太好了:
for(byte i = 0; i < aString.length(); i++)
{
if(aString.charAt(i).matches("[({[]})]+") // maybe '[]' is a problem
stack.push(aString.charAt(i));
}
字符是否存在这种方法?我能做些什么?