Unicode hat vielleicht 50 Leerzeichen
\ u0009 \ u000A \ u000D \ u0020 \ u0085 \ u00A0 \ u1680 \ u180E \ u2000 \ u200A \ u2028 \ u2029 \ u202F \ u205F \ u3000] 180E 2000- 200A 2028 2029 F 205F 3000
und 6 Zeilenumbrüche
nicht nur CRLF, LF, CR, sondern auch NEL (U + 0085), PS (U + 2029) und LS (U + 2028).
Vielleicht könnte ich die meisten Leerzeichen und PS ("Paragraph Separator") verstehen, aber wozu sind "Next Line" und "Line Separator" gut?
Es sieht alles so aus, als ob es von einem sehr großen Komitee erfunden wurde, bei dem jeder seinen eigenen Raum haben wollte und den Leitern jeweils ein Zeilenumbruch gewährt wurde. Aber im Ernst, wie gehen Sie damit um, wenn Ihre Programmiersprache es nicht unterstützt (oder ist es falsch, wie z. B. Java)?
Pattern.compile2010
Methode zu erstellen , die reguläre Ausdrücke gemäß der Definition des letzten Jahres zurückgibt. Sie können auch eine Methode erstellen,Pattern.compileLatestUTS
die explizit angibt, dass sich die Bedeutung gemäß der neuen Spezifikation ändern würde.Antworten:
NEXT LINE (U + 0085) wird auf EBCDIC-Systemen häufig als Newline-Zeichen verwendet (als 0x15). Es ist wie CR + LF, aber als ein Zeichen.
LINE SEPARATOR (U + 2028) und PARAGRAPH SEPARATOR (U + 2029) werden in Abschnitt 5.8 des Unicode-Standards erläutert , der sie als Nur -Text-Version von HTML beschreibt
<br>
und<p>
diese Funktionen von "newline" disambiguiert. In der Praxis werden diese Charaktere jedoch nicht oft verwendet.quelle