Вот шаблон, который я создал, который работает для меня:
(?=^.{3,63}$)(^[a-z0-9]+[a-z0-9\-]+[a-z0-9]+$)
По сути, это то, что он делает:
- Заглядывает вперед, чтобы убедиться, что длина составляет от 3 до63 знака (включительно).
- Начинается как минимум с 1 строчной буквы или цифры.
- Имеет 1 или более строчных букв, цифр дефисов.
- Завершает как минимум 1строчная буква или цифра.
И когда вы вводите его в шаблон CloudFormation, не забудьте экранировать обратную косую черту:
(?=^.{3,63}$)(^[a-z0-9]+[a-z0-9\\-]+[a-z0-9]+$)
Вы также можете использовать полезную RegEx101.com сайт, чтобы протестировать его и просмотреть его компоненты.