У Unicode може бути 50 пробілів
\ u0009 \ u000A- \ u000D \ u0020 \ u0085 \ u00A0 \ u1680 \ u180E \ u2000- \ u200A \ u2028 \ u2029 \ u202F \ u205F \ u3000] [\ u0009 \ u000A- \ u000D \ u0020 \ u0085 \ u00A \ \ u180E \ u2000- \ u200A \ u2028 \ u2029 \ u202F \ u205F \ u3000
і 6 перерв рядків
не тільки CRLF, LF, CR, а й NEL (U + 0085), PS (U + 2029) та LS (U + 2028).
Можливо, я міг би зрозуміти більшість пробілів та PS ("Роздільник абзаців"), але для чого "Наступний рядок" та "Роздільник рядків" хороший?
Це все схоже на винайдений дуже великим комітетом, де кожен хотів власного простору, а керівникам було надано по одному розриву лінії. Але якщо серйозно, як ви з цим справляєтесь, коли ваша мова програмування не підтримує її (або робить це неправильно, як, наприклад, Java)?
Pattern.compile2010метод, що повертає регулярні вирази, що працюють відповідно до визначення останніх років. Вони також вільні створити метод, Pattern.compileLatestUTSякий би чітко стверджував, що значення змінюватиметься відповідно до нових специфікацій.