Patrón de expresiones regulares para HH: MM: cadena de tiempo SS
Quiero analizar unhh:mm:ss
cuerda. Una simple es([0-1]?\d|2[0-3]):([0-5]?\d):([0-5]?\d)
que espera2:3:24
o02:03:24
cuerda
Quiero ir un paso más allá y pasar la validación incluso en casos como
si ingresa solo 56, debe aprobarse, ya que 56 puede considerarse como 56 segundos [SS] si ingresa 2: 3 o 02:03 o 02: 3 o 2:03, debería pasar. 2 minutos y 3 segundos [MM: SS] Si ingresa 20:30:12 pase con 20 horas, 30 minutos y 12 segundos [HH: MM: SS] si ingresa 78:12, no pase 78 minutos está mal ...Básicamente, si se encuentra un ":", considere el número antes de ":" como MM y el número después de ":" como SS. Si se encuentran dos ":", considere como HH: MM: SS
e me ocurrió este patrón.
(^([0-1]?\d|2[0-3]):([0-5]?\d):([0-5]?\d)$)|(^([0-5]?\d):([0-5]?\d)$)|(^[0-5]?\d$)
Parece estar funcionando bien. Quería conocer cualquier otra expresión regular más simple, que pueda hacer el trabajo.