Полное имя класса Java (скажем, «N») имеет структуру
N.N.N.N
Часть «N» должна быть идентификатором Java.Идентификаторы Java не могут начинаться с цифры, но после начального символа они могут использовать любую комбинацию букв и цифр, символов подчеркивания или знака доллара:
([a-zA-Z_$][a-zA-Z\d_$]*\.)*[a-zA-Z_$][a-zA-Z\d_$]*
------------------------ -----------------------
N N
Они также не могут быть зарезервированным словом (например, import
, true
или null
).Если вы хотите проверить только правдоподобие , этого достаточно.Если вы также хотите проверить достоверность , вы должны также проверить список зарезервированных слов.
Идентификаторы Java могут содержать любую букву Unicode вместо «только латинский».Если вы также хотите проверить это, используйте классы символов Unicode:
([\p{Letter}_$][\p{Letter}\p{Number}_$]*\.)*[\p{Letter}_$][\p{Letter}\p{Number}_$]*
или, для краткости
([\p{L}_$][\p{L}\p{N}_$]*\.)*[\p{L}_$][\p{L}\p{N}_$]*
Спецификация языка Java, (раздел 3.8) содержит все сведения о допустимых именах идентификаторов.
Также см. Ответ на этот вопрос: Имена переменных Java Unicode