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

如何用同一个正则表达式匹配两行不同格式的Last dying gasp time内容

匹配方案

你可以使用如下正则实现两行内容的同时匹配,支持严格整行校验:

^Last dying gasp time\s+:\s+(?:-|\d{4}-\d{2}-\d{2}\s+\d{2}:\d{2}:\d{2})\s*$

如果不需要严格匹配整行,也可以用更宽松的通用版本:

Last dying gasp time\s+:\s+(?:-|[\d-]+\s+[\d:]+)

如果需要提取冒号后的内容,把正则中的非捕获组(?:)改成普通分组()即可。

原正则失效原因

  • 第一个正则Last dying gasp time\s+:\s+[\d-]+\s+[\d:]+强制要求必须存在时间部分,无法匹配只有-的行
  • 第二个正则Last dying gasp time\s+:\s+[\d-]仅匹配单个数字或横杠,无法覆盖完整的日期、时间内容,两行都不能完整匹配
  • 第三个正则Last dying gasp time\s+:\s+[\d-]+(\s+[\d:]+)?逻辑上接近可用,但写法不够严谨,如果你开启了严格行匹配、或是目标行的-后存在多余空白,就可能出现匹配失败的情况,同时还会匹配到123-这类不符合格式的无效内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 21:09:00