Unicode a peut-être 50 espaces
\ u0009 \ u000A- \ u000D \ u0020 \ u0085 \ u00A0 \ u1680 \ u180E \ u2000- \ u200A \ u2028 \ u2029 \ u202F \ u205F \ u3000] [\ u0009 \ u000A- \ u000D \ u0020 \ u0085 \ u00A0 \ u16 u180E \ u2000- \ u200A \ u2028 \ u2029 \ u202F \ u205F \ u3000
et 6 sauts de ligne
non seulement CRLF, LF, CR, mais aussi NEL (U + 0085), PS (U + 2029) et LS (U + 2028).
Peut-être que je pourrais comprendre la plupart des espaces et PS ("Séparateur de paragraphe"), mais à quoi servent "Next Line" et "Line separator"?
Tout cela semble inventé par un très grand comité où tout le monde voulait son propre espace et les dirigeants ont obtenu une coupure de ligne chacun. Mais sérieusement, comment le traitez-vous lorsque votre langage de programmation ne le prend pas en charge (ou est-ce mal comme par exemple Java)?
Pattern.compile2010
méthode renvoyant des expressions régulières fonctionnant selon la définition de l'année dernière. Ils sont également libres de créer une méthodePattern.compileLatestUTS
qui indiquerait explicitement que la signification changerait en fonction de nouvelles spécifications.Réponses:
NEXT LINE (U + 0085) est souvent utilisé comme caractère de nouvelle ligne sur les systèmes EBCDIC (comme 0x15). C'est comme CR + LF, mais comme un seul personnage.
SÉPARATEUR DE LIGNE (U + 2028) et SÉPARATEUR DE PARAGRAPHE (U + 2029) sont expliqués dans la section 5.8 de la norme Unicode , qui les décrit comme une version en texte brut de HTML
<br>
et<p>
, pour lever l'ambiguïté de ces fonctions de "nouvelle ligne". Mais en pratique, ces personnages ne sont pas beaucoup utilisés.la source