我有php web应用程序并使用preg_match解析了几次字符串。
问题是我的用户可能会按以下格式输入时间:
所以基本上我想从字符串中得到两次,这两次中的每一次都可以用H,HH或HH:MM给出。
只有HH:MM有一个stackoverflow线程,但是(Regular expression for matching HH:MM time format)但我的问题没有。
答案 0 :(得分:0)
答案 1 :(得分:0)
如果没有任何控制权,您可以稍后验证时间:
^\D*(\d\d?(?::\d\d)?)\D+(\d\d?(?::\d\d)?)\D*$
当然,您可以测试小时是0到23之间,还是0到59之间的分钟:
^\D*((?:2[0-3]|[01]?[0-9])(?::[0-5][0-9])?)\D+((?:2[0-3]|[01]?[0-9])(?::[0-5][0-9])?))\D*$