Вы хотите регулярное выражение, которое будет соответствовать классу всех букв алфавита. Во всех сценариях мира их загружает , но, к счастью, мы можем сказать движку RE Java 6, что мы находимся после буквы, и он будет использовать магию классов Unicode для всего остального. В частности, класс L
соответствует всем типам букв, верхним, нижним и «о, это понятие не применимо в моем языке»:
Pattern p = Pattern.compile("^\\p{L}*$");
// the rest is identical, so won't repeat it...
При чтении документов помните, что обратная косая черта должна быть удвоена, если она помещена в литерал Java, чтобы компилятор Java не мог интерпретировать их как что-то еще. (Также имейте в виду, что этот RE не подходит для таких вещей, как проверка имен людей, что является совершенно другой и гораздо более сложной проблемой.)