java regex pattern validate 12 hours format

Regular expression time in 12 hours format pattern


This regular expression refers to a pattern which start from 0-12, then a semi colon (:) and follow by 00-59, and end with am or pm.


package com.w3spoint;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegexTest {
	private static final String PATTERN = 
	public static void main(String args[]){ 
		List<String> values = new ArrayList<String>();	
		values.add("3:00 am"); 
		values.add("5:00 PM"); 
		values.add("23:00 am");
		values.add("01:00 pm");
		Pattern pattern = Pattern.compile(PATTERN);
		for (String value : values){
		  Matcher matcher = pattern.matcher(value);
			  System.out.println("Time "+ value +" is valid 12Hours Format");
			  System.out.println("Time "+ value +" is invalid 12Hours Format");


Time 3:00 am is valid 12Hours Format
Time 5:00 PM is valid 12Hours Format
Time 23:00 am is invalid 12Hours Format
Time 01:00 pm is invalid 12Hours Format
Please follow and like us:
Content Protection by