【发布时间】:2014-04-22 16:33:18
【问题描述】:
我有这个正则表达式来检查 HH:MM:SS 格式的时间戳:
(20|21|22|23|[01]\d|\d)(([:][0-5]\d){1,2})
但我想忽略前面带有“运行时间 =”的时间戳
00:01:02 -> YES
compile time = 00:01:02 -> YES (only 00:01:02)
run time = 00:01:02 -> NO
这可以使用正则表达式来完成吗?
【问题讨论】:
-
我已经删除了 Delphi 标签(因为您的问题与 Delphi 无关),并将其替换为 PCRE 标签(您正在使用的正则表达式解析器的类型)。问题只是关于正则表达式,而不是关于 Delphi。
-
您的时间戳总是采用 HH:MM:SS 的形式吗?因为该正则表达式可选地仅匹配每个部分的 1 个数字,并允许最后一部分(:SS)完全丢失。此正则表达式将严格遵循该模式:
(?:2[0-3]|[10]\d):[0-5]\d:[0-5]\d