Ответ 1
Посыпьте в некоторый положительный lookahead, чтобы проверить общую длину строки, например,
/^(?=.{3,16}$)[a-z][a-z0-9]*(?:_[a-z0-9]+)*$/
Как ограничить размер строки для этого регулярного выражения?
/^[a-z][a-z0-9]*(?:_[a-z0-9]+)*$/
Мне просто нужно добавить квантификатор {3,16}
.
Посыпьте в некоторый положительный lookahead, чтобы проверить общую длину строки, например,
/^(?=.{3,16}$)[a-z][a-z0-9]*(?:_[a-z0-9]+)*$/
Я не знаю, зачем вам это нужно, но вы можете попытаться разделить свое выражение на 2 строки и связать их позже. Вы уверены, что нет другого способа проверить ваш ввод? Как уже существующая библиотека или что-то еще.
Использовать регулярное выражение
/^[a-z](?:[a-z\d]|_(?!_)){1,14}[a-z\d]$/
или
/^(?=.{3,16}$)[a-z][a-z\d]*(?:_[a-z\d]+)*$/