De http://java.sun.com/j2se/1.5.0/docs/api/java/util/regex/Pattern.html:¿Cuál es la diferencia entre z y Z en una expresión regular y cuándo y cómo la uso?
\Z The end of the input but for the final terminator, if any
\z The end of the input
Pero ¿qué significa en la práctica? ¿Me puede dar un ejemplo cuando uso ya sea el \ Z o \ z.
En mi prueba pensé que "StackOverflow\n".matches("StackOverflow\\z")
devolverá verdadero y "StackOverflow\n".matches("StackOverflow\\Z")
devuelve falso. Pero en realidad ambos devuelven falso. ¿Dónde está el error?
No es sorprendente (como acabo entendí de la respuesta aceptada) como '\ z' partidos sólo al final "real" de la cadena. Y su cadena aún no ha terminado después de 'StackOverflow' debido a la nueva línea. – maaartinus