Voglio analizzare una stringa hh:mm:ss
. Uno semplice è ([0-1]?\d|2[0-3]):([0-5]?\d):([0-5]?\d)
che si aspetta 2:3:24
o 02:03:24
stringa.Schema Regex per HH: MM: stringa ora SS
voglio prendere un ulteriore passo avanti e superare la validazione, anche in casi come
- se si immette solo 56, si deve passare, come 56 può essere considerato come 56 secs [SS]
- se inserisci 2: 3 o 02:03 o 02: 3 o 2:03 dovrebbe passare. 2 minuti e 3 secondi [MM: SS]
- Se inserisci 20:30:12 passa con 20 ore, 30 minuti e 12 secondi [HH: MM: SS]
- se inserisci 78:12, non passare 78 minuti è sbagliato ....
in sostanza, se uno ":" si trova, in considerazione numero prima ":" come MM e il numero dopo ":" come SS . Se due ":" sono considerati considerare come HH: MM: SS
Mi sono inventato questo modello.
(^([0-1]?\d|2[0-3]):([0-5]?\d):([0-5]?\d)$)|(^([0-5]?\d):([0-5]?\d)$)|(^[0-5]?\d$)
Sembra funzionare correttamente. Volevo conoscere qualsiasi altra espressione regolare più semplice, che possa fare il lavoro.
Per le vostre esigenze, che assomiglia ad un notevole semplice regex. –