Estoy en la necesidad de reemplazar¿Por qué replaceAll falla con "referencia de grupo ilegal"?
\\\s+\\$\\$ to $$
Solía
String s = " $$";
s = s.replaceAll("\\s+\\$\\$","$$");
pero ha producido una excepción
java.lang.IllegalArgumentException: Referencia del grupo ilegal
¿Podría explicarme también por qué java está tratando el segundo parámetro como regex en lugar de cadena normal? – FranXho
No lo trata como una expresión regular. De la documentación para Matcher.appendReplacement, "La cadena de reemplazo puede contener referencias a subsecuencias capturadas durante la coincidencia previa: cada aparición de $ {nombre} o $ g será reemplazada por el resultado de evaluar el grupo (nombre) o grupo (g) correspondiente respectivamente ... Un signo de dólar ($) puede incluirse como un literal en la cadena de reemplazo precediéndolo con una barra diagonal inversa (\ $). " – user393274