BytePane

Time (12-hour) Regex Pattern

Validates 12-hour time with AM/PM indicator. Hours 1-12, minutes 00-59, with flexible spacing.

Date & Time
Beginner
Difficulty
Universal
Language
none
Flags
// Regular Expression
/^(0?[1-9]|1[0-2]):[0-5]\d\s?[AaPp][Mm]$/

Live Regex Tester

Pattern Breakdown

^(0?[1-9]|1[0-2]):[0-5]\d\s?[AaPp][Mm]$
Character class [ ]
Group ( )
Quantifier { }
Anchor ^ $
Repetition * + ?
Escape \
Alternation |
Any char .

Code Examples

JavaScript

const regex = /^(0?[1-9]|1[0-2]):[0-5]\d\s?[AaPp][Mm]$/;
const test = "2:30 PM";
console.log(regex.test(test)); // true

// Extract matches
const matches = test.match(regex);
console.log(matches);

Python

import re

pattern = r'^(0?[1-9]|1[0-2]):[0-5]\d\s?[AaPp][Mm]$'
test = "2:30 PM"
match = re.search(pattern, test)
print(match)  # Found!

Go

package main

import (
    "fmt"
    "regexp"
)

func main() {
    re := regexp.MustCompile(`^(0?[1-9]|1[0-2]):[0-5]\d\s?[AaPp][Mm]$`)
    fmt.Println(re.MatchString("2:30 PM")) // true
}

Common Use Cases

US time displayscheduling appstime picker validation

Match Examples

InputResult
2:30 PMMatch
13:00 PMNo Match

About the Time (12-hour) Regex

Validates 12-hour time with AM/PM indicator. Hours 1-12, minutes 00-59, with flexible spacing.

Regular expressions (regex) are powerful pattern matching tools used across virtually all programming languages. The time (12-hour) pattern is classified as beginner difficulty in the date & time category. It works in all major programming languages.

When using this regex, always consider edge cases and test thoroughly with real-world data. Use the interactive tester above to validate the pattern against your specific inputs before deploying to production.

Need More Regex Patterns?

Browse our complete library of 100+ regex patterns with interactive testers.

Frequently Asked Questions

What is the Time (12-hour) regex pattern?

Validates 12-hour time with AM/PM indicator. Hours 1-12, minutes 00-59, with flexible spacing.

How do I use the Time (12-hour) regex?

Use the pattern /^(0?[1-9]|1[0-2]):[0-5]\d\s?[AaPp][Mm]$/ in your code. In JavaScript: new RegExp('^(0?[1-9]|1[0-2]):[0-5]\d\s?[AaPp][Mm]$', ''). Test it above with your own input.

What does this Time (12-hour) regex match?

This pattern matches: "2:30 PM". It does NOT match: "13:00 PM". US time display, scheduling apps, time picker validation.

Is the Time (12-hour) regex beginner-friendly?

This pattern is rated Beginner. It uses basic regex syntax and is easy to understand.

What languages support the Time (12-hour) regex?

This pattern works in all major programming languages including JavaScript, Python, Java, C#, Go, Ruby, PHP, and more. Syntax may vary slightly between regex engines.

Can I modify the Time (12-hour) regex for my use case?

Yes! Use the interactive tester above to modify the pattern and test with your own data. Common modifications include making it case-insensitive (add 'i' flag), matching globally (add 'g' flag), or adjusting character classes.

Related Tools