Здесь нет смысла заново изобретать колесо.
Либо используйте java.text.SimpleDateFormat
, либо DateTimeFormatter
из Joda Time .Укажите соответствующий формат, а затем попытайтесь проанализировать его - если он не выдает исключение, он действителен.
Если это действительно только для домашней работы, то вы должны проанализировать строки какцелые числа - как еще вы собираетесь делать такие вещи, как обработка високосных лет и т. д.?
Вы можете использовать регулярное выражение для выполнения краткой проверки, но для "глубокой" проверки вам будет гораздо лучше разбирать строки- или предпочтительно с использованием существующей библиотеки, как упоминалось ранее.