我想要一个接受此格式的Regex版本:
##.##.##
====
但不接受
00.00.00
答案 0 :(得分:1)
如果你的正则表达式方言支持负前瞻断言(?!...)
,这很容易:
^(?!00\.00\.00$)(\d{2}\.){2}\d{2}$
如果您的正则表达式方言不支持?!
和/或\d
,请使用相关详细信息和/或标记更新您的问题。
答案 1 :(得分:0)
正则表达式可能如下所示:
(0[1-9]|[1-9]\d)\.(0[1-9]|[1-9]\d)\.(0[1-9]|[1-9]\d)
(\d
是一个数字,\.
是一个点,[1-9]
是一个从1到9的数字)
详细解释:
0[1-9]
将匹配01至09的数字[1-9]\d
将匹配10到99 (0[1-9]|[1-9\d)
将匹配01至09或10至99(因此任何数字从01到99)这些将被接受:
01.01.01
11.11.11
55.55.55
55.01.33
10.20.30
这些不匹配:
00.01.01
00.00.00
44.33.00
答案 2 :(得分:0)
如果仅接受00.00.00,则可以使用以下正则表达式
00\.00\.(?:0[1-9]|[1-9]\d)|00\.(?:0[1-9]|[1-9]\d)\.\d{2}|(?:0[1-9]|[1-9]\d)\.\d{2}\.\d{2}