2016-06-13 77 views
2

我一直在試圖讓一個正則表達式我的手機,但我似乎無法得到它的工作:正則表達式檢查長度

這裏是我的正則表達式的條件:

  • 必須09
  • 總長度開始爲9

這裏是我的正則表達式:

[0]{1}[9]{1}[0-9]{7} 

有效移動號碼091123456

無效移動號碼0991234567 || 09912345

+7

使用錨'^ 09 [0-9] {7} $' – anubhava

+0

對於更多的參考「[正則表達式在Java的手機號碼](http://howtodoinjava.com/regex/java-regex-validate-international-phone-numbers/)」 –

回答

4

最簡單的方法:

^09[0-9]{7}$ 

說明:

^09 =>開始於09

[0-9] =>任何字符0至9之間

{ 7}正好七次

$ =>結束最新組([0- 9] {7})

1

如果使用matcher.contains()而不是matcher.find(),它將匹配整個字符串,而不是嘗試查找匹配的子字符串。或者您可以添加^$錨點,如其他答案中的建議。

如果不這樣做真的需要使用正則表達式,或許會更具可讀性只使用

string.startsWith("09") && string.length() == 9