Regex 版本的正则表达式
我需要接受此格式的版本的正则表达式:Regex 版本的正则表达式,regex,Regex,我需要接受此格式的版本的正则表达式: ##.##.## ==== 但这不能接受 00.00.00 正则表达式可以如下所示: (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
##.##.##
====
但这不能接受
00.00.00
正则表达式可以如下所示:
(0[1-9]|[1-9]\d)\.(0[1-9]|[1-9]\d)\.(0[1-9]|[1-9]\d)
(\d
是数字,\。
是点,[1-9]
是从1到9的数字)
详细说明:
将匹配01到09之间的数字0[1-9]
将匹配10到99[1-9]\d
将匹配01到09或10到99(因此01到99之间的任何数字)(0[1-9]|[1-9\d)
01.01.01
11.11.11
55.55.55
55.01.33
10.20.30
这些将不匹配:
00.01.01
00.00.00
44.33.00
如果仅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}
如果您的正则表达式方言支持否定的前瞻断言
(?!…)
,这很容易:
^(?!00\.00\.00$)(\d{2}\.){2}\d{2}$
如果您的正则表达式方言不支持
?!
和/或\d
,请使用相关的详细信息和/或标记更新您的问题。Stackoverflow不是正则表达式工厂。尝试学习正则表达式。这很简单。然后告诉我们您使用的正则表达式方言,以便我们尝试修复它。