正则表达式不允许重复的通配符

Regex to not allow duplicate wild cards

我想制作可以通过以下情况的正则表达式:

02:12
10:23
00.23
0.23
.02
:88

这是我尝试过的:^([0-9:. ])*[.: ]+$

但它允许重复“:, ., (space)”,而且我无法在通配符的两边限制为 1-2 位数字。任何帮助都会很棒。谢谢

您尝试的模式只匹配左侧的数字,匹配重复项是由于量词。

如果你想在两边都允许 1 或 2 位数字并且让左边的数字可选:

^[0-9]{0,2}[.:][0-9]{1,2}$
  • ^ 字符串开头
  • [0-9]{0,2} 匹配数字 0-9 的 0、1 或 2 次
  • [.:] 匹配 .:
  • [0-9]{1,2} 匹配 1 次或 2 次数字 0-9
  • $ 字符串结束

Regex demo