Tengo un problema al usar Rexexp en Java. El código de ejemplo se escribe a cabo ABC_012_suffix_suffix
, que estaba esperando a la salida ABC_012_suffix
Regexp agrupar y reemplazar Todo con. * En Java duplica el reemplazo
Pattern rexexp = Pattern.compile("(.*)");
Matcher matcher = rexexp.matcher("ABC_012");
String result = matcher.replaceAll("$1_suffix");
System.out.println(result);
entiendo que replaceAll sustituye a todos los grupos emparejados, la pregunta es ¿por qué es este grupo de expresiones regulares (.*)
emparejando dos veces en mi cadena ABC_012
en Java?
(supongo, que no era la pregunta - la pregunta desconcertante fue, ¿por qué tenemos un _suffix extra añadido al resultado) –
@Andreas_D: cierto, pero da el resultado correcto sin complicar las cosas con expresiones regulares innecesarias. Solo trato de mantenerlo simple :) –