Est “\n” verticale des espaces, c'est à dire, devrait “\v” match?

C'est logiquement (mais la logique n'est pas pertinent à chaque fois que l'encodage des caractères ou des paramètres régionaux sont en jeu). Selon

perl -e 'print "\n" =~ /\v/? "y\n" : "n\n";'

l'impression de "y", il est. Selon

Pattern.compile("\\v").matcher("\n").matches();

retour false en java, il n'est pas. Ce ne serait pas me confondre à tous, si il n'y avait pas cette publication affirmant que

Soleil mis à jour du Modèle de classe pour JDK7 a un merveilleux nouveau drapeau, UNICODE_CHARACTER_CLASS, ce qui rend tout travail de nouveau à droite.

Mais je suis en utilisant java version "1.7.0_07" et le drapeau existe et semble ne rien changer du tout. En outre, "\n" est pas un débutant en Unicode, mais un simple vieux de caractères ASCII, donc je ne vois vraiment pas comment cette différence peut arriver. Probablement que je suis en train de faire quelque chose de stupide, mais je ne peux pas le voir.

Du mieux que je peux dire, Unicode ne dispose pas d'un espace vertical de la propriété. C'est purement une Perl construire qui correspond aux caractères suivants: U+000A, U+000 B, U+000C, U+000D, U+0085, U+2028 et U+2029. Il suffit d'utiliser une classe de caractères correspondant à ces caractères à la place.
Drôle. Je viens de trouver liste d'accord avec vous.
Cette question a été ajoutée à la Débordement de Pile dans l'Expression Régulière de la FAQ, sous "les Séquences d'Échappement".
A noter que depuis Java 8, \v signifie verticale de l'espace

OriginalL'auteur maaartinus | 2012-09-05