Что такое Regex для имени пользователя с первым символом в качестве алфавита и имеет определенный диапазон в Java? - PullRequest
0 голосов
/ 20 января 2019

Я хочу создать класс в Java для проверки имени пользователя с помощью Regex.Имя пользователя считается действительным, если выполнены все следующие ограничения:

  1. Имя пользователя состоит из 8-30 символов включительно.Если имя пользователя состоит из символов меньше или больше, то это недопустимое имя пользователя.
  2. Имя пользователя может содержать только буквенно-цифровые символы и символы подчеркивания (_).Буквенно-цифровые символы описывают набор символов, состоящий из строчных символов [az], прописных символов [AZ] и цифр [0-9].
  3. Первый символ имени пользователя должен быть буквенным, т. Е. Либо строчнымсимвол [az] или заглавный символ [AZ].

Я пробовал выражение вроде:

^[a-zA-Z0-9_]{8-30}$

Это дает мне результат как недействительный для всех имен пользователей.Я ожидаю, что вывод Samantha_21 будет действительным.

1 Ответ

0 голосов
/ 20 января 2019

У вашего регулярного выражения есть опечатка и упущение. Опечатка в том, что пределы диапазона должны быть разделены запятой. Упущение состоит в том, что вы не проверяете первый символ отдельно:

^[a-zA-Z][a-zA-Z0-9_]{7,29}$

Диапазон уменьшается на единицу для размещения фиксированного первого символа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...