Регулярное выражение для проверки логина длинной от 4 до 18 символов с тире и знаком подчеркивания
Не пропустит, если тире и подчеркивание находятся в начале или конце, а также если они повторяются.
^(?![-_])(?!.*--)(?!.*__)[a-zA-Z0-9_-]{4,18}+(?<![-_])$
Не пройдут:
_pligin
-pligin
pligin_...