L'expression régulière ne correspond pas à la nouvelle ligne obtenue à partir de l'objet Formatter

Je ne peut pas correspondre à une Chaîne de caractères contenant les retours à la ligne lorsque le saut de ligne est obtenue en utilisant %n dans Formatter objet ou String.format(). Veuillez consulter le programme suivant:

public class RegExTest {

  public static void main(String[] args) {
    String input1 = String.format("Hallo\nnext line");
    String input2 = String.format("Hallo%nnext line");
    String pattern = ".*[\n\r].*";
    System.out.println(input1+": "+input1.matches(pattern));
    System.out.println(input2+": "+input2.matches(pattern));
  }

}

et sa sortie:

Hallo
next line: true
Hallo
next line: false

Ce qui se passe ici? Pourquoi ne pas la deuxième chaîne de match?

Version de Java est 1.6.0_21.

source d'informationauteur Axel | 2012-07-25