You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何编写匹配指定时间格式正则任意开头部分的正则表达式?

正则表达式简化方案:匹配完整时间区间及合法开头片段

要实现匹配HH:MM - HH:MM完整格式,同时兼容该格式的任意合法开头片段(比如2、23、23:、23:5、23:59、23:59 -等),且排除22: - 23:00这类不符合逻辑的输入,可以用带负向预查的简化正则:

^(?!.*:\s-)(?:\d{0,2}:?\d{0,2} ?-? ?\d{0,2}:?\d{0,2})?$

逻辑说明:

  • ^(?!.*:\s-):负向预查规则,直接排除所有包含:后紧跟空格和-的字符串,从根源上避免匹配22: - 23:00这类错误格式
  • 后半段(?:\d{0,2}:?\d{0,2} ?-? ?\d{0,2}:?\d{0,2})?$:覆盖从空字符串、单个数字、部分时间到完整时间区间的所有合法开头片段,保证匹配的内容是原格式从左到右的递进片段,不会出现跳步情况

如果不需要匹配空字符串,只需把末尾的?去掉即可:

^(?!.*:\s-)\d{0,2}:?\d{0,2} ?-? ?\d{0,2}:?\d{0,2}$

内容的提问来源于stack exchange,提问作者B0773N

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 07:00:11