Tôi muốn phân tích cú pháp chuỗi hh:mm:ss
. Một đơn giản là ([0-1]?\d|2[0-3]):([0-5]?\d):([0-5]?\d)
mà dự kiến là 2:3:24
hoặc 02:03:24
chuỗi.Mẫu regex cho HH: MM: Chuỗi thời gian SS
tôi muốn mang nó một bước xa hơn và vượt qua xác nhận ngay cả trong trường hợp như thế
- nếu bạn nhập chỉ 56, nó phải được vượt qua, như 56 có thể được coi như 56 giây [SS]
- nếu bạn nhập 2: 3 hoặc 02:03 hoặc 02: 3 hoặc 2:03 nó sẽ vượt qua. 2 phút và 3 giây [MM: SS]
- Nếu bạn nhập 20:30:12 vượt qua với 20 giờ, 30 phút và 12 giây [HH: MM: SS]
- nếu bạn nhập 78:12, không vượt qua 78 phút là sai ....
Về cơ bản, nếu tìm thấy ":", hãy xem số trước ":" là MM và số sau ":" là SS . Nếu hai ":" được tìm thấy là HH: MM: SS
Tôi đã đưa ra mô hình này.
(^([0-1]?\d|2[0-3]):([0-5]?\d):([0-5]?\d)$)|(^([0-5]?\d):([0-5]?\d)$)|(^[0-5]?\d$)
Dường như nó hoạt động tốt. Tôi muốn biết bất kỳ biểu thức thông thường đơn giản nào khác, có thể thực hiện công việc.
Đối với yêu cầu của bạn, trông giống như một rõ rệt regex đơn giản. –