Вот формализованная задача. Требуется написать функцию, которая возвращала бы регулярное выражение для проверки того, является ли строка числом с произвольным отступом.
Можно в лоб через ИЛИ, но тогда количество ИЛИ будет равняться length - minLength, что нехорошо в случае большой разности между ними (регулярное выражение будет очень длинным).
Конечно, для решения конкретно моей задачи это подошло бы, но хотелось бы написать универсальную функцию, дающую эффективное регулярное выражение для любой разности.
ADRian: тогда валидна последовательность 56789 (4 пробела, 5 цифр). Но сама строка должна иметь длину 5.
Понимаю, что длину строки можно проверить заранее, но интересует возможность задания её в регулярном выражении (хочу написать метод, возвращающий рег. выражение для проверки того, является ли строка беззнаковым целым, причём возможен произвольный отступ). Задача взялась из проверки валидности TLE, а там перед разными числами могут быть отступы, а могут и не быть.
Можно в лоб через ИЛИ, но тогда количество ИЛИ будет равняться length - minLength, что нехорошо в случае большой разности между ними (регулярное выражение будет очень длинным).
Конечно, для решения конкретно моей задачи это подошло бы, но хотелось бы написать универсальную функцию, дающую эффективное регулярное выражение для любой разности.