¿Cómo escapar del texto para una expresión regular en Java?

Resuelto Matt asked hace 16 años • 8 respuestas

¿Java tiene una forma incorporada de escapar de texto arbitrario para poder incluirlo en una expresión regular? Por ejemplo, si mis usuarios ingresan "$5", me gustaría hacer coincidir eso exactamente en lugar de "5"después del final de la entrada.

Matt avatar Sep 13 '08 06:09 Matt
Aceptado

Desde Java 1.5, sí :

Pattern.quote("$5");
Mike Stone avatar Sep 12 '2008 23:09 Mike Stone

La diferencia entre Pattern.quotey Matcher.quoteReplacementno me quedó clara antes de ver el siguiente ejemplo

s.replaceFirst(Pattern.quote("text to replace"), 
               Matcher.quoteReplacement("replacement text"));
Pavel Feldman avatar Sep 12 '2008 23:09 Pavel Feldman