Invalide la séquence d'échappement \d

Je suis en train de vérifier si un mot de passe contenant au moins une lettre minuscule, une lettre majuscule, un chiffre et un caractère spécial.

j'essaie ceci:

if(!password.matches("(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&+=])")){
        username = "Error";
    }

mais donnez-moi une erreur en disant: invalid séquence d'échappement.

Quelqu'un peut m'aider à résoudre le problème et peut confirmer que c'est un modèle correct?

Merci, whit \\d ne pas faire d'erreur, mais il ne correspond pas avec une chaîne comme Paul%88 pourquoi?

essayez de remplacer le \d avec \\d
Avez-vous essayer de remplacer \d \\d? (en retard sur le déclencheur à nouveau!)
Je recommande soigneusement de tester chacune de ces caractères spéciaux. Ils peuvent avoir une signification particulière dans la regex et peut-être besoin d'être échappé.

OriginalL'auteur Matteo | 2011-07-15