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

如何编写正则表达式从字符串中提取HH:MM:SS格式的时间

问题原因

你之前使用的两个正则表达式都添加了行首锚点^和行尾锚点$,要求整个输入字符串完全匹配时间格式,但你需要提取的HH:MM:SS格式时间只是长字符串中的一段内容,因此无法匹配成功。

正确正则表达式

如果只需匹配提取完整的时间字符串,使用如下表达式即可:

\b([01]?[0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]\b

规则说明:

  • \b是单词边界符,避免匹配到前后附带其他字符的非法时间内容
  • ([01]?[0-9]|2[0-3])匹配合法小时范围:0-23,支持个位数小时带/不带前导零两种格式
  • 后面两段:[0-5][0-9]分别匹配分钟、秒,范围为00-59

如果需要单独捕获时分秒三个部分的值,可以调整为分组形式:

\b([01]?[0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])\b

捕获组1对应小时值,捕获组2对应分钟值,捕获组3对应秒值。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 08:15:05