我需要一个像以下一样工作的正则表达式:
HH:MM-HH:MM
我在这里找到了一个正则表达式,但这只适用于HH:MM
(^([0-9]|0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$)
任何人都可以帮助我,因为它不是我的最大区域。我将在HTML表单中使用它。
答案 0 :(得分:0)
这个问题似乎很容易回答,但不是每个人都能理解RegEx的乱七八糟的信件。我建议您在https://www.regexone.com上坐下几个小时,我觉得这对学习RegEx非常有用,并使用https://www.regex101.com来分析正则表达式。
关于你的问题,我相信这就是你要找的东西
(?:^(?:[0-9]|0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]-(?:[0-9]|0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$)
您可以在此DEMO
进行测试快乐学习。
答案 1 :(得分:0)
^([01]?\d|2[0-3]):([0-5]\d)-([01]?\d|2[0-3]):([0-5]\d)$
([01]?\d|2[0-3])
匹配0-23
范围内的任何数字,允许单个或两位数(前导0):
按字面意思匹配([0-5]\d)-
匹配00-59
-
按字面意思匹配-
的最后一场比赛)使用pattern
属性,您可以删除主播^
和$
,如下面的代码段所示
<form>
<input type=text pattern="([01]?\d|2[0-3]):([0-5]\d)-([01]?\d|2[0-3]):([0-5]\d)" placeholder="00:00-00:00">
<input type=submit>
</form>