「+」、「*」、「(」、および「)」を使用すると、ぶら下がっているメタ文字に関するエラーが発生し続けます。
正規表現でこれらの文字をエスケープしようとしましたが、それでもエラーが発生します。これは私が持っているものです:
"[-\\+\\*/%\\(\\)]"
アップデート:
テスト:
String input = "+";
String vals = new WNScanner(input).getNextToken(); //**********
System.out.println("token: " + vals);
System.out.println(vals.matches("[-+*/%()]"));
別のクラスから:
...
String expression = input;
...
public String getNextToken() {
String[] token = {""};
if (expression.length() == 0)
return "";
token = expression.split("\\s");
recentToken = token[0];
expression = expression.replaceFirst(token[0], ""); //*************
expression = expression.trim();
return token[0];
}
*これらの行には例外があります。