Correspondance (par exemple) d'une lettre Unicode avec des expressions rationnelles Java

Il y a beaucoup de questions et de réponses ici, sur StackOverflow qui supposent une "lettre" peut être mis en correspondance dans une regexp par [a-zA-Z]. Cependant, avec Unicode il y a beaucoup plus de caractères que la plupart des gens considéreraient comme une lettre (toutes les lettres grecques, Cyrllic .. et beaucoup plus. Unicode définit le nombre de blocs qui peuvent avoir des "lettres".

La Java définition définit Posix classes pour des choses comme les caractères alpha, mais qui est spécifié pour fonctionner uniquement avec de l'US-ASCII. Les classes de caractères prédéfinies définir les mots qui se composent de [a-zA-Z_0-9]ce qui exclut également de nombreuses lettres.

Alors, comment pouvez-vous bien les match contre les chaînes Unicode? Est-il un autre bibliothèque qui obtient ce droit?

source d'informationauteur The Archetypal Paul