2014-09-23 211 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