En balançant les méta-caractères

Je reçois un message d'erreur sur balançant méta caractère lorsque j'utilise '+', '*', '(', et ')'.

J'ai déjà essayé de se soustraire à ces caractères dans la regex, mais j'ai toujours l'erreur. C'est ce que j'ai:

"[-\\+\\*/%\\(\\)]"

Mise à jour:

test:

String input = "+";

String vals = new WNScanner(input).getNextToken();    //**********
System.out.println("token: " + vals);
System.out.println(vals.matches("[-+*/%()]"));

d'une autre classe:

    ...

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


}

* il y a des exceptions à ces lignes.

Aucun de ceux qui nécessitent l'échappement barre oblique inverse dans les "[]"s (cependant, "-" doit être le premier caractère à l'intérieur de l'" []").
oh. mais j'ai toujours l'erreur si je ne comprend pas les barres obliques inverses. une idée?
Postez votre tentative (code) avec le message d'erreur dans la question (vous pouvez tape vers le bas d'une simple classe ou d'une fonction unique).
J'ai mis à jour mon post. J'espère que c'est clair
Qu'est-ce que l'entrée? Qu'est-ce que l'expression? pourquoi ne pas getNextToken retourner quelque chose?

OriginalL'auteur user2430361 | 2013-06-04