/*
Date : 10 October 2013
Author : Shivam Tiwari [shivamtiwari1011@gmail.com]
Organization : http://mycodedock.blogspot.in/
Description : http://mycodedock.blogspot.in/2013/10/the-task-is-to-create-tool-in-java-that.html
*/
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main{
public static void main
(String[] args
){
//declaring required variables
String inputString, findPattern
;
//creating a new Scanner object
Scanner scannerObj
= new Scanner
(System.
in);
/*
(0?[1-9]|[12][0-9]|3[01])
day can be 01, 02....09
OR day can be 1,2....9
OR day can be 10,11....19
OR day can be 20,21....29
OR day can be 30, 31
followed by /
(0?[1-9]|1[012])
month can be 01,02...09
OR month can be 1,2...9
OR month can be 10, 11, 12
followed by /
((19|20)\\d\\d)
year can be 19 followed by digit followed by a digit
OR year can be 20 followed by a digit followed by a digit
*/
findPattern = "(0?[1-9]|[12][0-9]|3[01])/(0?[1-9]|1[012])/((19|20)\\d\\d)";
System.
out.
println("Enter date string : ");
//get inputString
inputString = scannerObj.nextLine();
//create a pattern object
Pattern patternObj = Pattern.compile(findPattern);
//create a matcher object
Matcher matcherObj = patternObj.matcher(inputString);
if(matcherObj.find()){
System.
out.
println("This is a valid date string : " + inputString
); }
else{
System.
out.
println("This is NOT a valid date string : " + inputString
); }
}
}