Используйте matcher.matches()
вместо matcher.find()
.Вот для чего: проверка, полностью ли соответствует строка шаблону.Вы легко нашли бы это сами, прочитав javadoc .
Если вам нужно проверить, является ли это действительной датой, используйте SimpleDateFormat.Чтобы проверить, что синтаксический анализатор формата даты полностью проанализировал вашу строку, используйте метод parse, принимающий ParsePosition в качестве аргумента, и проверьте, что позиция после анализа равна длине вашей строки.