C#&.NET, .NET Core程序开发中如何使用正则表达式从字符串中提取时分秒呢?
1.69K 次浏览
1 个回答
-
要使用正则表达式从一个字符串中提取时分秒,可以使用如下的表达式:
(\d{2}):(\d{2}):(\d{2})
这个表达式假定时间是以 HH:mm:ss 的形式出现,其中
HH
表示小时,mm
表示分钟,ss
表示秒钟。表达式中使用了三个捕获组,每个捕获组都由一对圆括号括起来。第一个捕获组匹配小时部分,第二个捕获组匹配分钟部分,第三个捕获组匹配秒部分。在C#中使用这个正则表达式可以通过
Regex.Match()
方法实现。例如:string input = "The time is 12:34:56."; Regex regex = new Regex(@"(\d{2}):(\d{2}):(\d{2})"); Match match = regex.Match(input); if (match.Success) { string hour = match.Groups[1].Value; string minute = match.Groups[2].Value; string second = match.Groups[3].Value; Console.WriteLine("Hour: {0}, Minute: {1}, Second: {2}", hour, minute, second); }
这个代码会在字符串中查找匹配正则表达式的部分,如果找到了,就从匹配结果中提取小时、分钟和秒,并输出它们的值。
注意,捕获组的索引从1
开始,因为索引0
表示整个匹配结果。