Unicode ma może 50 spacji
\ u0009 \ u000A- \ u000D \ u0020 \ u0085 \ u00A0 \ u1680 \ u180E \ u2000- \ u200A \ u2028 \ u2029 \ u202F \ u205F \ u3000] [\ u0009 \ u000A- \ u000D \ u0020 \ u0085 \ u00A0 \ u1685 u180E \ u2000- \ u200A \ u2029 \ u202F \ u205F \ u3000
i 6 podziałów linii
nie tylko CRLF, LF, CR, ale także NEL (U + 0085), PS (U + 2029) i LS (U + 2028).
Może rozumiem większość spacji i PS („separator akapitu”), ale do czego służą „Next Line” i „Separator linii”?
Wszystko wygląda na wymyślone przez bardzo dużą komisję, w której wszyscy chcieli mieć własne miejsce, a liderom przyznano jeden podział linii. Ale tak na poważnie, jak sobie z tym radzisz, gdy Twój język programowania go nie obsługuje (lub robi to źle, jak np. Java)?
Pattern.compile2010
metodę zwracającą wyrażenia regularne działające zgodnie z definicją z ubiegłych lat. Mogą też swobodnie tworzyć metodę,Pattern.compileLatestUTS
która wyraźnie stwierdza, że znaczenie zmieniłoby się zgodnie z nową specyfikacją.Odpowiedzi:
NASTĘPNA LINIA (U + 0085) jest często używana jako znak nowej linii w systemach EBCDIC (jako 0x15). To jest jak CR + LF, ale jako jedna postać.
LINE SEPARATOR (U + 2028) i PARAGRAPH SEPARATOR (U + 2029) zostały wyjaśnione w rozdziale 5.8 standardu Unicode , który opisuje je jako wersję tekstową HTML
<br>
i<p>
, aby ujednoznacznić te funkcje „nowej linii”. Ale w praktyce postacie te nie są przyzwyczajone.źródło