Здравствуйте.
Пытаюсь практиковаться в написании регулярных выражений, однако результат не очень ясен. Подскажите, пожалуйста, почему так?
console.log(/[0-3]?\d-[0-1]?\d-[0-2]\d{3}/.test("45-12-1991"));
Результат будет true, хотя я указал диапазон первого символа [0-3]
При этом если взять и 12 изменить на 22, то результат будет false, хотя это идентичные условия.
Предполагаю, что это из-за "?", но тогда не ясно, почему во втором числе все нормально проверяется.