Глядя на Javadoc для java.util.regex.Pattern
\p{Alnum}
Буквенно-цифровой символ: [\p{IsAlphabetic}\p{IsDigit}]
похоже, что каждый символ, который соответствует \p{IsAlphabetic}
, должен также соответствовать \p{Alnum}
Однако, похоже, это не тот случай, когда у персонажа есть акцент. Например, следующее утверждение не выполняется:
assertEquals("é".matches("\\p{IsAlphabetic}+"),"é".matches("\\p{Alnum}+"));
То же самое происходит с другими персонажами с акцентами, такими как ą
, ó
, ł
, ź
ż
. Все соответствуют \p{IsAlphabetic}+
, но не \p{Alnum}+
Я неправильно истолковал Javadoc? Или это ошибка в документации или реализации?