J'essaie de construire une regex pour faire correspondre l'entrée des heures de la feuille de temps où l'utilisateur entre ses heures dans le format suivant 20h 50m
.
Dans ce format, l'utilisateur peut soit saisir uniquement les heures 20h
ou minutes seulement 50m
ou à la fois les heures et les minutes 20h 50m
.
Exemples de correspondances
45m
1h
2h 45m
Les chiffres peuvent être n'importe quoi d'autre que 20
o 50
.
J'ai trouvé cette expression ((([0-9]+h)\s([0-9]+m))|([0-9]+h)|([0-9]+m)){1}
qui est longue et que j'essaie de réduire.
J'ai donc essayé une autre solution : ((\d+h)?([\s]*(\d+m))?)
https://regex101.com/r/ZEBsle/1/ Mais le problème avec cette solution est qu'elle correspond à des chaînes vides et ne correspond pas à des motifs tels que 2h 45m
.
Comment puis-je modifier la dernière expression rationnelle pour qu'elle puisse correspondre aux formats suivants ?
45m
1h
2h 45m