版本的正则表达式

时间:2014-03-12 07:30:55

标签: regex

我想要一个接受此格式的Regex版本:

##.##.##

====

但不接受

  

00.00.00

3 个答案:

答案 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

http://regex101.com/r/lE7uH6

答案 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}