У 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
який би чітко стверджував, що значення змінюватиметься відповідно до нових специфікацій.