我想要一个regexp来匹配HH:MM格式的时间。以下是我所拥有的,而且它很有效:
^[0-2][0-3]:[0-5][0-9]$
它匹配从00:00到23:59的所有内容。
但是,我想改变它,所以0:00和1:00等也匹配,以及00:00和01:30。也就是说,让最左边的数字是可选的,以匹配HH:MM和H:MM。
有什么想法可以改变吗?我需要这个工作在javascript以及php。
我想要一个regexp来匹配HH:MM格式的时间。以下是我所拥有的,而且它很有效:
^[0-2][0-3]:[0-5][0-9]$
它匹配从00:00到23:59的所有内容。
但是,我想改变它,所以0:00和1:00等也匹配,以及00:00和01:30。也就是说,让最左边的数字是可选的,以匹配HH:MM和H:MM。
有什么想法可以改变吗?我需要这个工作在javascript以及php。
当前回答
描述
小时:分钟:
强制am|pm或am|pm 强制引导零点05:01而不是5:1 从1点到12点 Hours不接受00为00:16 am 从00到59分
01:16 am✅ 01:16 am✅ 01:16❌(miss am|pm) 01:16 Am❌(Am必须全部小写或大写) 凌晨1:16❌(小时错过前导零) 00:16❌(无效时间值00)
正则表达式
匹配单个事件: ^ (0 (1 - 9) | 1 [0]): ([0 - 9] [0 - 5]) ((| p) m | | p m)美元
要匹配多个事件: 移除^ $ (0 (1 - 9) | 1 [0]): ([0 - 9] [0 - 5]) ((| p) m | | p m)
其他回答
对上面的Manish M Demblani的贡献做了一个小小的修改 处理4点 (我摆脱了秒部分,因为我不需要它在我的应用程序)
^(([0-1]{0,1}[0-9]( )?(AM|am|aM|Am|PM|pm|pM|Pm))|(([0]?[1-9]|1[0-2])(:|\.)[0-5][0-9]( )?(AM|am|aM|Am|PM|pm|pM|Pm))|(([0]?[0-9]|1[0-9]|2[0-3])(:|\.)[0-5][0-9]))$
处理: 4点 4点 4:00 4:00am 下午4点 4.30点 等。
检查这个masterfull时间戳检测器正则表达式,我建立寻找用户指定的时间戳,它将拾取的例子包括,但绝对不限于;
8:30-9:40
09:40-09 : 50
09 : 40-09 : 50
09:40 - 09 : 50
08:00to05:00
08 : 00to05 : 00
08:00 to 05:00
8am-09pm
08h00 till 17h00
8pm-5am
08h00,21h00
06pm untill 9am
它还会拾取更多,只要times包含数字
下面的正则表达式将有助于验证hh:mm格式
^([0-1][0-9]|2[0-3]):[0-5][0-9]$
描述
小时:分钟:
强制am|pm或am|pm 强制引导零点05:01而不是5:1 从1点到12点 Hours不接受00为00:16 am 从00到59分
01:16 am✅ 01:16 am✅ 01:16❌(miss am|pm) 01:16 Am❌(Am必须全部小写或大写) 凌晨1:16❌(小时错过前导零) 00:16❌(无效时间值00)
正则表达式
匹配单个事件: ^ (0 (1 - 9) | 1 [0]): ([0 - 9] [0 - 5]) ((| p) m | | p m)美元
要匹配多个事件: 移除^ $ (0 (1 - 9) | 1 [0]): ([0 - 9] [0 - 5]) ((| p) m | | p m)
上面的答案对我都没用,下面这个有用。
"[0-9]{2}:[0-9]{2}"