c# - 用于匹配 HH:MM 和 HH:MM:SS 时间格式的正则表达式
问题描述
我想编写一个正则表达式来匹配 HH:MM:SS 和 MM:SS。
匹配
- 99:43:22
- 1:43:22
- 01:43:22
- 1:43:22
- 43:22
所以我试过了
(([0-5]?[0-9]):([0-5]?[0-9]))|(([0-9]?[0-9]):([0-5]?[0-9]):([0-5]?[0-9]))
我想添加的只是一个带有两次正则表达式的 OR(|) 语法。
但它与 HH:MM:SS 不匹配
我错过了什么?我已经查看了这些文章:
解决方案
你的问题不清楚。根据我的了解,我建议使用以下正则表达式:
^([01]\d?|2[0-4]):[0-5]\d(:[0-5]\d)?$
- 它确保 HH 在 00-24 之间
- 它确保 MM 在 00-59 之间
- SS 是可选的(因此它可以同时匹配 HH:MM:SS 和 HH:MM),如果
存在,则在 00-59 之间
那里可能有更有效的方法,但我只能想到这个!
推荐阅读
- python - 将python字典转储到yaml文件时保留引号
- android - 有没有办法理解安装错误代码的实际含义?
- python - 如果数据框中的十进制值适合某个范围,则用不同的字符串替换它们
- qt - 获取导入目标(Qt5)的位置给了我符号链接指向的内容,而不是符号链接本身
- java - 解析 JSON 并根据条件提取项目
- sql - 根据 where 条件过滤
- python - 在 jsonpath-ng python 中使用 OR 运算符 (|)
- maven - 新 maven 项目的 pom.xml 文件中的错误
- python-3.x - Python 课 - 使用 Break 命令破坏代码
- c# - HttpRequestException 未在 catch 块 xamarin.android 中捕获,而相同的代码在 UnitTest 应用程序中工作