Cita: String b = "Prueba\n de pattern";
System.out.println(b.matches(".*de.*"));
No sé si existe alguna razón, pero el caso es que si en el texto hay un retorno de carro, el matches me devuelve false.
Para solucionarlo puedo elminar el \n usando un split o un replace, pero me gustaría saber si existe algún tipo de explicación, por ahora yo no he encontrado nada.