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

如何修改正则表达式,避免将2021 PST这类年份误识别为PST格式合法时间

正则表达式调整方案

问题核心

原有正则未限制时间数字左侧的字符类型,会截取4位年份的后2位数字完成匹配,导致2021 PST这类年份内容被误识别为时间;同时原有正则中PST前强制要求空格,无法匹配bar12PST这类无空格的合法时间格式。

调整后正则

(?<!\d)\d{1,2}(?:[.:](\d\d))*\s*([aApP][.: ]?[mM][.: ]?|o['’]clock|afternoon)*\s*PST

调整说明

  • 新增(?<!\d)负向零宽回顾断言:要求匹配到的1-2位时间数字左侧不能是其他数字,从根源避免截取4位年份的后两位完成误匹配
  • 删除原有正则中PST前的硬空格,保留\s*匹配0或多个空白字符的规则,同时支持带空格的12 PST和不带空格的bar12PST格式
  • 其余原有逻辑完全保留,不影响原本支持的带时分时间、am/pm标识、o'clock标识等场景的匹配效果

验证效果

可正常匹配的合法时间示例:

  • 19:00 PST
  • 12 PST
  • bar12PST
  • 9:30am PST
  • 5 o'clock PST

不会匹配的误判场景示例:

  • 2021 PST
  • 2023PST

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 00:24:04