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的数字)

详细说明:

  • 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

如果仅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不是正则表达式工厂。尝试学习正则表达式。这很简单。然后告诉我们您使用的正则表达式方言,以便我们尝试修复它。