Регулярное выражение для диапазона чисел 1 - 31 включительно и учитывая стартовые нули
Пытаюсь составить регулярное выражение для проверки выше указанного диапазона, так, что бы следующие комбинации 01, 07 или же просто 1, 7 были валидными. Пока есть такие наработки
(0[1-9]|1[0-9]|2[0-9]|3[0-1]|[0-9])
но это выражение пропускает числа выше 31. Вопрос, как правильно составить регулярку?