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

JavaScript正则表达式提取首个HH:MM格式时间前的文本

提取时间戳前文本的JavaScript实现

需求说明

需要解析以下格式的预订文本:

14687 - Project foobar, homeOffice 7:40 - 13:59
436 - Project barfoo, office 12:49 - 22:00

目标是提取首个符合\d?\d:\d\d格式(无前置零的24小时制HH:MM)的时间戳之前的所有文本,每个条目内时间戳可能出现1-2次。

实现方案

利用正则表达式的正向预查功能,匹配字符串开头到第一个目标时间戳之前的内容,具体代码如下:

// 待处理的预订文本数组
const bookingEntries = [
  '14687 - Project foobar, homeOffice 7:40 - 13:59',
  '436 - Project barfoo, office 12:49 - 22:00'
];

// 正则规则:捕获开头到第一个目标时间戳前的所有内容
const prefixRegex = /^(.*?)(?=\d?\d:\d\d)/;

// 遍历处理每个条目
bookingEntries.forEach(entry => {
  const matchResult = entry.match(prefixRegex);
  if (matchResult) {
    // 去除末尾多余空格后输出结果
    const extractedText = matchResult[1].trim();
    console.log(extractedText);
  } else {
    console.log('未找到符合格式的时间戳');
  }
});

正则解析

  • ^:锚定字符串起始位置
  • (.*?):非贪婪模式捕获任意字符,确保只取到第一个时间戳之前的内容
  • (?=\d?\d:\d\d):正向预查,匹配你定义的时间格式但不将其包含在捕获结果中,保证只提取时间前的文本

运行上述代码后,会输出:

14687 - Project foobar, homeOffice
436 - Project barfoo, office

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 14:15:30