une durée ISO
Correspond à une durée ISO. Il est ancré aux deux bouts : la chaîne entière doit correspondre. Il n’y a pas de groupe capturant.
Motif
/^P(?=\d|T\d)(?:\d+Y)?(?:\d+M)?(?:\d+D)?(?:T(?:\d+H)?(?:\d+M)?(?:\d+S)?)?$/- Portée
- la chaîne entière
- Groupes capturants
- 0
- Ce qu’il capture dans le premier exemple
- P1Y2M3D
Essayez
Tapez un texte : les parties capturées sont surlignées. Tout se passe dans votre navigateur, rien n’est envoyé.
P1Y2M3D
1 correspondance
Exemples qui correspondent
- P1Y2M3D
- PT30M
Exemples qui ne correspondent pas
- 1Y
- P
- PT
Autres expressions du groupe
^(?:0[1-9]|[12]\d|3[01])/(?:0[1-9]|1[0-2])/\d{4}$une date écrite avec des barres^(?:[01]\d|2[0-3]):[0-5]\d$une heure au format 24 heures^(?:0?[1-9]|1[0-2]):[0-5]\d\s?(?:am|pm)$une heure avec am ou pm^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$un horodatage ISO complet^\d+\.\d+\.\d+(?:-[0-9a-z.-]+)?(?:\+[0-9a-z.-]+)?$un numéro de version sémantique^\d+$un entier sans signe^[+-]?\d+$un entier pouvant porter un signe^-?\d+(?:\.\d+)?$un nombre pouvant avoir des décimalesComment lire
- Avec ^ et $, la chaîne entière doit correspondre ; sans eux, le motif peut se trouver n’importe où. Ancrez toujours ce qui sert à valider.
- Les parenthèses ( ) capturent ce qu’elles entourent. Pour seulement grouper, écrivez (?: ) afin que la numérotation ne se décale pas.
- Chaque expression ici est confrontée à ses exemples. Cela dit, « ressemble à un e-mail » et « est une vraie boîte » sont deux choses.
- Les répétitions ouvertes imbriquées comme (a+)+ peuvent exploser sur certaines entrées. Repérez cette forme avant de coller l’expression d’autrui.
Questions fréquentes
Q. Quelle est la regex pour une durée ISO ?
^P(?=\d|T\d)(?:\d+Y)?(?:\d+M)?(?:\d+D)?(?:T(?:\d+H)?(?:\d+M)?(?:\d+S)?)?$.
Q. Quelles chaînes correspondent ?
Un texte comme P1Y2M3D correspond ; un texte comme 1Y non.
Q. La chaîne entière doit-elle correspondre ?
Oui. Elle est encadrée par ^ et $ : seule une correspondance complète passe.
Q. Comment utiliser ce qui est capturé ?
Il n’y a pas de groupe capturant : seule la correspondance entière (match[0]) revient. Mettez entre parenthèses la partie voulue.