@khomaldi
разбираюсь потихоньку

Как составить регулярное выражение для username?

Здравствуйте. Помогите, пожалуйста, составить регулярное выражение.
{3, 29} символов.

Должны пройти тест:
username
Username
UserName
user-name
11username
user11name
username11
user_name
user__name
us_er__na__m_e
user.name
u.s.e.r.n.a.m.e


Должны провалить тест:
white space
 whiteSpaceBeforeWord
whiteSpaceAfterWord 
_username
_user_name
user__name_
us_er__na__m_e 
user..name
.user.name
user.name.


Ответ: ^[^._ ](?:[\w-]|\.[\w-])+[^._ ]$
  • Вопрос задан
  • 505 просмотров
Решения вопроса 1
@StockholmSyndrome
https://regex101.com/r/hwwu3k/1

количество символов придётся проверять с помощью языка программирования
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
dollar
@dollar
Делай добро и бросай его в воду.
Почему именно регулярное?

Если решать в лоб, то проще разделить на несколько этапов фильтрации. Реализация зависит от языка программирования. Например, сначала ищем две точки подряд, это false, затем ищем пробел, это тоже false, затем проверяем начало и конец строки на наличие точек и подчеркиваний, это тоже false, ну а потом просто вырезаем все точки и подчеркивания - и задача сводится уже к гораздо более простой. По сути останется проверить только вхождение user и name без учета регистра.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы