Требуется написать функцию, которая возвращала бы регулярное выражение для проверки того, является ли строка беззнаковым целым (с произвольным отступом).
std::regex getRegex(unsigned length, unsigned minLength)
{
std::assert(minLength <= length);
// ...
}
Валидные примеры:
12345
2345
345
45
5
Можно в лоб через ИЛИ, но тогда количество ИЛИ будет равняться length - minLength, что нехорошо в случае большой разности между ними (регулярное выражение будет очень длинным).