文字列を解析したいhh:mm:ss
。単純なものは([0-1]?\d|2[0-3]):([0-5]?\d):([0-5]?\d)
、期待2:3:24
または02:03:24
文字列です。
次のような場合でも、さらに一歩進んで検証に合格したい
- 56 は 56 秒と見なすことができるため、56 だけを入力した場合は合格です [SS]
- 2:3 または 02:03 または 02:3 または 2:03 を入力すると、合格するはずです。2分3秒 [MM:SS]
- 20 時間 30 分 12 秒 [HH:MM:SS] で 20:30:12 パスを入力した場合
- 78:12 と入力すると、78 分を渡さないでください。間違っています....
基本的に、「:」が1つ見つかった場合、「:」の前の数字をMM、「:」の後の数字をSSと見なします。「:」が 2 つ見つかった場合は、HH:MM:SS と見なします
このパターンを思いつきました。
(^([0-1]?\d|2[0-3]):([0-5]?\d):([0-5]?\d)$)|(^([0-5]?\d):([0-5]?\d)$)|(^[0-5]?\d$)
うまくいっているようです。仕事をすることができる他のより単純な正規表現を知りたかった.