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

如何用JS正则匹配HH:MM:ss格式字符串中除分钟数外的内容?

解决HH:MM:ss格式字符串匹配除分钟外所有部分的JS正则方案

针对HH:MM:ss格式(如"123:59:00")的耗时字符串,要匹配除分钟数外的所有内容,以下是两种适用于Notion Formula API的JS正则实现思路:

思路1:直接匹配非分钟部分

使用全局正则匹配小时段(含冒号)和秒时段(含冒号),具体正则如下:

/^\d+:|:\d{2}$/g

正则说明

  • ^\d+::匹配字符串开头的任意位数数字(小时)加上冒号
  • |:逻辑或,匹配前后任意一种模式
  • :\d{2}$:匹配字符串结尾的冒号加上两位数字(秒数)
  • g:全局修饰符,确保匹配所有符合条件的部分

在JS/Notion Formula中使用示例:

// 假设时间字符串来自名为"耗时"的属性
prop("耗时").match(/^\d+:|:\d{2}$/g)

执行后会得到数组结果,比如对"123:59:00"会返回["123:", ":00"],若需要拼接成完整字符串,可使用join(''):

prop("耗时").match(/^\d+:|:\d{2}$/g).join('') // 结果为"123::00"

思路2:移除分钟部分(更适合Notion Formula场景)

如果目标是得到移除分钟后的完整字符串,可使用replace函数配合正则匹配并替换分钟部分:

replace(prop("耗时"), /:\d{2}(?=:)/, "")

正则说明

  • :\d{2}:匹配冒号加两位数字(分钟部分的冒号和数字)
  • (?=:):正向先行断言,确保匹配的内容后面紧跟着另一个冒号(避免误匹配小时后的冒号)

执行后,"123:59:00"会直接变为"123::00",即保留了除分钟外的所有原始内容结构。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 18:50:26