Java détecter les caractères spéciaux dans une chaîne de caractères

- Je utiliser les regex

r="[^A-Za-z0-9]+"; 

pour détecter si une chaîne a une ou plusieurs caractères autres que les lettres et les chiffres;

Ensuite, j'ai essayé le suivant:

Pattern.compile(r).matcher(p).find();

J'ai testé:

! @ # $ % ^ & * ( ) +  =- [ ] \ ' ; , . /{ } | " : < > ? ~ _ `

La plupart du temps, il travaille à l'exception dosseret \ lambda ^.

par exemple

String p = "abcAsd10^"    (return false)
String p = "abcAsd10\\"   (return false) 

Rien je m'ennuie?

Je reçois des correspondances pour les "abcAsd10\\" et "abcAsd10^", donc, ici, il renvoie la valeur true. Notez que j'utilise C# donc je pense qu'il doit à Java. Il peut aider si vous écrivez un petit exemple de code qui illustre votre problème.
FWIW, les deux chaînes semblent correspondre sur Ideone.
Je reçois vrai en java.
Désolé, j'avais r="[^A-za-z0-9]+"; (avec peu de "z"). Qui provoque le retour "false"
Donc, vous avez vos réponses maintenant? Ne sait pas si vous avait un type dans votre donc, la question ou le problème lui-même.

OriginalL'auteur Eric | 2012-06-05