Le caractère $ est un caractère spécial en java?

String pattern = "$$var$$";
String expression = "voici ma variable a remplacer $$var$$";

expression.replaceAll(pattern , "toto");
Ca ne me remplace rien ,
si j'enlève les $ ca fonctionne bien.

Comment faire?