正则表达式不允许重复的通配符
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
$
字符串结束
我想制作可以通过以下情况的正则表达式:
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$
字符串结束