Comportamiento extraño en expresiones regulares
Hubo una pregunta sobre expresiones regulares y tratando de responder, encontré otras cosas extrañas.
String x = "X";
System.out.println(x.replaceAll("X*", "Y"));
Esto imprime YY. ¿¿por qué?
String x = "X";
System.out.println(x.replaceAll("X*?", "Y"));
Y esto imprime YXY
¿Por qué la expresión regular reacia no coincide con el carácter 'X'? Ahi esta"noting"X"nothing"
pero ¿por qué primero no coincide con tres símbolos y coincide con dos y luego con uno en lugar de tres? y la segunda expresión regular solo coincide con"nothing"
s y noX
?