Unicode has maybe 50 spaces
\u0009\u000A-\u000D\u0020\u0085\u00A0\u1680\u180E\u2000-\u200A\u2028\u2029\u202F\u205F\u3000][\u0009\u000A-\u000D\u0020\u0085\u00A0\u1680\u180E\u2000-\u200A\u2028\u2029\u202F\u205F\u3000
and 6 line breaks
not only CRLF, LF, CR, but also NEL (U+0085), PS (U+2029) and LS (U+2028).
Maybe I could understand most of the spaces and PS ("Paragraph separator"), but what are "Next Line" and "Line separator" good for?
It all looks like invented by a very big committee where everybody wanted their own space and the leaders were granted one line break each. But seriously, how do you deal with it when your programming language doesn't support it (or does it wrong as e.g. Java does)?
Pattern.compile2010
method returning regexes working according to last years definition. They're also free to create a methodPattern.compileLatestUTS
which would explicitly state, that the meaning would change according to new specification.