Соответствие (например, ) буква Unicode с регулярными выражениями Java

Здесь, в StackOverflow, есть много вопросов и ответов, которые предполагают, что "буква" может быть сопоставлена ​​в регулярном выражении с помощью [a-zA-Z] . Однако в Юникоде есть намного больше символов, которые большинство людей сочли бы буквами (все греческие буквы, кириллица ... и многие другие. Юникод определяет множество блоков , каждый из которых может иметь «буквы».

] Определение Java определяет классы Posix для таких вещей, как альфа-символы, но это указано для работы только с US-ASCII. Предопределенные классы символов определяют слова как состоящие из [a-zA-Z_0-9] , что также исключает много букв.

Итак, как правильно сопоставить строки Unicode? Есть ли другая библиотека, которая понимает это правильно?

14
задан tchrist 29 March 2012 в 18:46
поделиться