Я работал над регулярным выражением для имени по следующим критериям:
Содержит только буквы ASCII (a-z
, A-Z
), цифры (0-9
), точки (.
), подчеркивания (_
) или тире (-
)
Начинаются с буквы или цифры и заканчиваются буквой или цифрой
От 3 до 128 символов
Не иметь соседних точек, подчеркиваний или тире.Имена, такие как my-_namespace
и my--namespace
, недопустимы.
До сих пор я придумал следующий шаблон:
^[a-zA-Z0-9](?!.*--)[a-zA-Z0-9._-]{1,126}[A-Za-z0-9]$
Это работает для соседнихдефис.Как включить функциональность без смежных дефисов, подчеркиваний и точек?