正则表达式仅显示小时或小时和分钟

标签 regex

我正在使用正则表达式^(([0-9])|([0-1][0-9])|([2][0-3])):(([0- 9])|([0-5][0-9]))$ 时间。这是非常好的正则表达式,但是当用户只想输入 8 或 12 之类的小时(不带冒号和分钟)时,它是不允许的。 任何人都可以建议哪些正则表达式仅适合小时或小时:分钟。

最佳答案

^(([0-9])|([0-1][0-9])|([2][0-3]))(:(([0-9])|([0-5][0-9])))?$

通过将“:mm”部分放入 () 中并添加 ? 量词将其变为可选。


https://www.regexplained.co.uk/ 生成的解释

Regex description

第一组(标记为“group #4”):

  • 单个数字 (0..9),或
  • “0”或“1”,后跟一个数字 (00..19),或
  • “2”,后跟 0、1、2 或 3 (20..23)

然后是可选第二组(标记为“组#8”)

  • 冒号(':'),后接
  • 单个数字 (0..9),或
  • 0..5 后跟一个数字 (00..59)

关于正则表达式仅显示小时或小时和分钟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11225981/

相关文章:

java - 在空格上拆分字符串,但如果空格位于引号内则不拆分(引号部分可以类似于 xxx"x x x"xxx

c# - 如何 : Regular Expression Starting With Number/Letter between 2 and 150 length

regex - 如何加入文件中的前n行

java - 正则表达式不匹配

php - 有效模式的 PHP 中的 "preg_match(): Compilation failed: unmatched parentheses"

c# - 需要一个正则表达式来去掉 html 图像标签文件名中的括号

c# - 如何在 HTML 文本中搜索特定文本并用颜色突出显示搜索字符串

RegExp - 找到最后一个匹配项,左边有空格

regex - 如何使用正则表达式确保单词完整,同时向雅虎管道添加字符限制?

regex - awk:输出文件在文件名中包含 ^M 字符