eine ISO-Dauer
Passt auf eine ISO-Dauer. Es ist an beiden Enden verankert, die ganze Zeichenkette muss also passen. Es gibt keine Fanggruppen.
Muster
/^P(?=\d|T\d)(?:\d+Y)?(?:\d+M)?(?:\d+D)?(?:T(?:\d+H)?(?:\d+M)?(?:\d+S)?)?$/- Trefferbereich
- die ganze Zeichenkette
- Fanggruppen
- 0
- Was es im ersten Beispiel fängt
- P1Y2M3D
Selbst ausprobieren
Beliebigen Text eingeben — die gefundenen Stellen werden hervorgehoben. Läuft im Browser und wird nirgendwohin gesendet.
P1Y2M3D
1 Treffer
Beispiele, die passen
- P1Y2M3D
- PT30M
Beispiele, die nicht passen
- 1Y
- P
- PT
Andere Ausdrücke dieser Gruppe
^(?:0[1-9]|[12]\d|3[01])/(?:0[1-9]|1[0-2])/\d{4}$ein Datum mit Schrägstrichen^(?:[01]\d|2[0-3]):[0-5]\d$eine Uhrzeit im 24-Stunden-Format^(?:0?[1-9]|1[0-2]):[0-5]\d\s?(?:am|pm)$eine Uhrzeit mit am oder pm^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$ein vollständiger ISO-Zeitstempel^\d+\.\d+\.\d+(?:-[0-9a-z.-]+)?(?:\+[0-9a-z.-]+)?$eine semantische Versionsnummer^\d+$eine ganze Zahl ohne Vorzeichen^[+-]?\d+$eine ganze Zahl mit möglichem Vorzeichen^-?\d+(?:\.\d+)?$eine Zahl mit möglichem NachkommateilSo liest man das
- Mit ^ und $ muss die ganze Zeichenkette passen; ohne sie darf der Treffer irgendwo sitzen. Verankern Sie alles, was Sie zur Prüfung einsetzen.
- Runde Klammern ( ) fangen, was sie umschließen. Wer nur gruppieren will, schreibt (?: ) — sonst verschiebt sich die Nummerierung.
- Jeder Ausdruck hier wird gegen seine Beispiele geprüft. Trotzdem sind „sieht aus wie eine E-Mail“ und „ist ein echtes Postfach“ zweierlei.
- Verschachtelte offene Wiederholungen wie (a+)+ können bei manchen Eingaben explodieren. Achten Sie auf diese Form, bevor Sie fremde Ausdrücke übernehmen.
Häufige Fragen
Q. Wie lautet der Regex für eine ISO-Dauer?
^P(?=\d|T\d)(?:\d+Y)?(?:\d+M)?(?:\d+D)?(?:T(?:\d+H)?(?:\d+M)?(?:\d+S)?)?$.
Q. Welche Zeichenketten passen?
Text wie P1Y2M3D passt, Text wie 1Y nicht.
Q. Muss die ganze Zeichenkette passen?
Ja. Er steht zwischen ^ und $, es passt also nur ein vollständiger Treffer.
Q. Wie nutze ich das Gefangene?
Es gibt keine Fanggruppen, zurück kommt nur der ganze Treffer (match[0]). Setzen Sie den gewünschten Teil in Klammern.