здравствуйте, есть регулярка для проверки ника при регистрации ~^[^-_][a-zA-Z_\-0-9]*$~u но почему-то пользователь может ввести такой #ник , хэштег одобряется только если он стоит как первый символ, не подскажите как это исправить?
Если необходимо сделать так, чтобы первый символ был отличен от - и _, можно исправить ваш исключающий символьный класс на блок предварительного просмотра вперёд:
~^(?![-_])[a-zA-Z_0-9-]*$~u
^^^^^^^^
Или же воспользоваться
~^(?:[a-zA-Z0-9][\w-]*)?$~D
См. демо
Подробности
^ -начало строки(?:[a-zA-Z0-9][\w-]*)? - 1 или 0 последовательностей след. шаблонов:
[a-zA-Z0-9] - 1 ASCII-буква или цифра[\w-]* - 0 и более букв/цифр/_ (\w) и/или -$ - конец строки (модификатор D заставит $ найти позицию непосредственно в конце строки)Пусть ник начинается только на букву, а содержит буквы, цифры и знаки "_" и "-"
~^[a-zA-Z][a-zA-Z_\-0-9]*$~u
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости