Вот несколько решений, которые могут работать для различных требований:
В тексте не должно быть букв только ASCII
if (text.matches("\\P{Alpha}+")) {
System.out.println("No ASCII letters");
}
В тексте не должно бытьписьмо со всей плоскости BMP
if (text.matches("\\P{L}+")) {
System.out.println("No Unicode letters");
}
Текст не должен содержать буквенных символов
if (text.matches("\\P{IsAlphabetic}+")) {
System.out.println("No alphabetic chars");
}
* Примечание: *Класс 1020 * включает в себя категории L
, Nl
(номер буквы) и Other_Alphabetic
и может быть слишком широким, но это хорошо, если вам нужно проверить наличие букв и диакритических знаков.
Метод String#matches
требуется полное совпадение строки, поэтому в приведенных выше фрагментах кода якоря (^
/ \A
и $
/ \z
) не используются.