【发布时间】:2019-07-26 19:50:55
【问题描述】:
我正在尝试编写一个正则表达式来匹配“时间”(hh:mm:ss),例如 11:20:00、18:02:22 或 6:00:00。
我写了以下内容,但它没有按预期工作。 当它是字符串中唯一的东西或者它是字符串中的第一个值时,它匹配。 例如:
string timepattern = @"^([0-1]?\d|2[0-3])(?::([0-5]?\d))?(?::([0-5]?\d))?";
string value = "30.Jul.2019 This the line I want to match 15:04:09"
var returnedValue = Regex.Match(line, timepattern);
returnedValue 将产生3。但我想要整个时间。
【问题讨论】:
-
^ 表示必须在字符串的开头。
-
这不起作用
-
它仍然只匹配“3”
-
\d{,2}\:\d{,2}\:\d{,2}