2014-09-23 156 views
-1

我不知道怎么了两位数的正则表达式数字正则表达式帮助##### ##

这是我迄今为止[01-99]\.[0-4]\.[01-99]\.[01-99]

以下应验证:

  • 99.3.24.53
  • 01.0.0.0
  • 14.0.0.0
  • 14.0.01.01
  • 14.01.01.1

任何字母不应该验证,也不要斜线。只是数字和在这种特定的格式### ### ### ### ####################

任何帮助将不胜感激!

+1

你想让'14.01.01.1'吗? – 2014-09-23 18:18:52

+0

这很好,但只能到##。04。##。## – Andrew 2014-09-23 18:19:33

+2

''[01-99]'表示匹配字符'0',范围'1-9'中的任何单个字符,或者字符'9'。它在任何情况下都只能匹配1个字符。这可能不是你想要做的。 – Sneftel 2014-09-23 18:20:12

回答

1

这符合所有你的例子:

\d{2}\.0?[0-4]\.\d{1,2}\.\d{1,2} 

我不知道怎么了两位数的正则表达式数字

如果您可以使用前导零:\d{1,2}

如果您对前导零不确定,则会更复杂一点:^[1-9]\d$|^[1-9]$。管之前的部分处理数字10-99。管之后的部分处理数字1-9。像0或04这样的数字将不匹配。

+0

不匹配我可以知道为什么op在第一个指定这个“[01-99]”? – 2014-09-23 18:34:19

+0

@Avinash Raj,从OP给出的例子中,OP可能希望匹配从0到99的所有数字。显然,单个数字可能有或没有前导零。我给了这个正则表达式相当于'\ d {1,2}'。 – user2023861 2014-09-23 19:20:30

+0

这是正确的。我不知道如何指定01或1到99 – Andrew 2014-09-23 19:43:13

0

探头这个

[0-9][0-9]\.[0-9][0-9]?\.[0-9][0-9]?\.[0-9][0-9]? 

所以现在将#匹配##。##。##和##。##。##。##

+0

这与'14.01.01.1' – user2023861 2014-09-23 18:33:11