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

求匹配多格式时间范围字符串的正则表达式

匹配时间范围字符串的正则表达式解决方案

最终正则表达式

^\d+ min(?:s)? - (?:\d+ min(?:s)?|\d+ hour(?:s)?(?: \d+ min(?:s)?)?)$

正则规则拆解

  • ^:锚定字符串起始位置,确保匹配从开头开始
  • \d+:匹配1个及以上数字(时间的数值部分)
  • min(?:s)?:匹配"min"或"mins",(?:s)?是非捕获可选组,处理单复数变化
  • -:精准匹配时间范围中间的连接符(前后带空格)
  • 右侧匹配分支(满足任意一种即可):
    • \d+ min(?:s)?:匹配纯分钟格式(如20 mins)
    • \d+ hour(?:s)?:匹配纯小时格式(如1 hour)
    • \d+ hour(?:s)?(?: \d+ min(?:s)?)?:匹配"小时+分钟"格式,其中分钟部分为可选(如1 hour 30 mins)
  • $:锚定字符串结束位置,确保匹配到结尾

验证匹配

你给出的所有示例字符串都能被该正则成功匹配:

  • 10 mins - 20 mins
  • 1 min - 10 mins
  • 10 mins - 1 hour
  • 10 mins - 1 hour 30 mins
  • 10 mins - 2 hours
  • 10 mins - 2 hours 30 mins

可选优化(若需数值范围校验)

如果需要限制分钟数为0-59,可以将匹配分钟的\d+替换为(?:[0-5]?\d),正则调整为:

^\d+ min(?:s)? - (?:(?:[0-5]?\d) min(?:s)?|\d+ hour(?:s)?(?: (?:[0-5]?\d) min(?:s)?)?)$

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 05:45:31