/* package whatever; // don't place package name! */
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
{
String input
= "Must be submitted, before twelve o'clock noon on wednesday, june 19, 2013, at which time it will be read."; String regex
= "(due|submit|deadline)" + ".*?(january|february|march|april|may|june|july|august|september|october|november|december)"
+ "\\s*(0?[1-9]|[12][0-9]|3[01])(th|rd|nd|st)*,*\\s*((19|20)\\d\\d)";
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(input);
if(m.find()){
System.
out.
println(">"+m.
group()); System.
out.
println(">"+m.
group(1)); System.
out.
println(">"+m.
group(2)); System.
out.
println(">"+m.
group(3)); System.
out.
println(">"+m.
group(4)); System.
out.
println(">"+m.
group(5)); }
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwogCmltcG9ydCBqYXZhLnV0aWwucmVnZXguTWF0Y2hlcjsKaW1wb3J0IGphdmEudXRpbC5yZWdleC5QYXR0ZXJuOwogCi8qIE5hbWUgb2YgdGhlIGNsYXNzIGhhcyB0byBiZSAiTWFpbiIgb25seSBpZiB0aGUgY2xhc3MgaXMgcHVibGljLiAqLwpjbGFzcyBJZGVvbmUKewoJcHVibGljIHN0YXRpYyB2b2lkIG1haW4gKFN0cmluZ1tdIGFyZ3MpIHRocm93cyBqYXZhLmxhbmcuRXhjZXB0aW9uCgl7CgkJU3RyaW5nIGlucHV0ID0gIk11c3QgYmUgc3VibWl0dGVkLCBiZWZvcmUgdHdlbHZlIG8nY2xvY2sgbm9vbiBvbiB3ZWRuZXNkYXksIGp1bmUgMTksIDIwMTMsIGF0IHdoaWNoIHRpbWUgaXQgd2lsbCBiZSByZWFkLiI7CgkJU3RyaW5nIHJlZ2V4ID0gIihkdWV8c3VibWl0fGRlYWRsaW5lKSIKCQkJCSsgIi4qPyhqYW51YXJ5fGZlYnJ1YXJ5fG1hcmNofGFwcmlsfG1heXxqdW5lfGp1bHl8YXVndXN0fHNlcHRlbWJlcnxvY3RvYmVyfG5vdmVtYmVyfGRlY2VtYmVyKSIKCQkJCSsgIlxccyooMD9bMS05XXxbMTJdWzAtOV18M1swMV0pKHRofHJkfG5kfHN0KSosKlxccyooKDE5fDIwKVxcZFxcZCkiOwoJCVBhdHRlcm4gcCA9IFBhdHRlcm4uY29tcGlsZShyZWdleCk7CgkJTWF0Y2hlciBtID0gcC5tYXRjaGVyKGlucHV0KTsKCQlpZihtLmZpbmQoKSl7CgkJCVN5c3RlbS5vdXQucHJpbnRsbigiPiIrbS5ncm91cCgpKTsKCQkJU3lzdGVtLm91dC5wcmludGxuKCI+IittLmdyb3VwKDEpKTsKCQkJU3lzdGVtLm91dC5wcmludGxuKCI+IittLmdyb3VwKDIpKTsKCQkJU3lzdGVtLm91dC5wcmludGxuKCI+IittLmdyb3VwKDMpKTsKCQkJU3lzdGVtLm91dC5wcmludGxuKCI+IittLmdyb3VwKDQpKTsKCQkJU3lzdGVtLm91dC5wcmludGxuKCI+IittLmdyb3VwKDUpKTsKCQl9Cgl9Cn0=