Bonjour,

je code en java depuis peu et j'ai besoin pour la première fois des Regex (que je ne connaissais quand shell).

Je cherche à déterminer si une String contient des caractères "interdit" (qui ne soient pas : 1-9, +, -, *, /, ^, "exp", et l'espace).

Voila mon code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
private static Pattern symbole = Pattern.compile(" ^ ( \d \+ - \( \) \* / (exp) \^ \t ) " );
private String expression;
 
...
 
private boolean fct() {
 
		Matcher matcher = symbole.matcher(this.expression);
		return matcher.find();
}
Le problème c'est que je ne peux pas compiler les \d et autres :

Exception in thread "main" java.lang.Error: Unresolved compilation problem:
Invalid escape sequence (valid ones are \b \t \n \f \r \" \' \\ )
Quelle syntaxe utiliser pour désigner les caractères '+', '-', [0-9] ... ?

Merci.