So funktioniert das Muster
| Teil | Bedeutung |
|---|---|
(?:0?[1-9]|1[0-2]) | Stunden 1–12, optional mit führender Null |
:[0-5]\d | Doppelpunkt und Minuten 00–59 |
? | Optionales Leerzeichen |
[AaPp][Mm] | AM oder PM, in beliebiger Schreibweise |
Codebeispiele
JavaScript
const re = /^(?:0?[1-9]|1[0-2]):[0-5]\d ?[AaPp][Mm]$/;
re.test(value); // true or falsePython
import re
bool(re.fullmatch(r'(?:0?[1-9]|1[0-2]):[0-5]\d ?[AaPp][Mm]', value))PHP
preg_match('/^(?:0?[1-9]|1[0-2]):[0-5]\d ?[AaPp][Mm]$/', $value) === 1;
Hinweise und Einschränkungen
Auf einer 12-Stunden-Uhr gibt es weder 0:00 noch 13:00, daher werden beide abgelehnt.
Regex-Tester
Gib ein Muster ein und sieh zu, wie Übereinstimmungen in deinem Testtext in Echtzeit hervorgehoben werden.