我一直在试图让一个正则表达式我的手机,但我似乎无法得到它的工作:正则表达式检查长度
这里是我的正则表达式的条件:
- 必须
09
- 总长度开始为
9
这里是我的正则表达式:
[0]{1}[9]{1}[0-9]{7}
有效移动号码091123456
无效移动号码0991234567
|| 09912345
我一直在试图让一个正则表达式我的手机,但我似乎无法得到它的工作:正则表达式检查长度
这里是我的正则表达式的条件:
09
9
这里是我的正则表达式:
[0]{1}[9]{1}[0-9]{7}
有效移动号码091123456
无效移动号码0991234567
|| 09912345
最简单的方法:
^09[0-9]{7}$
说明:
^09 =>开始于09
[0-9] =>任何字符0至9之间
{ 7}正好七次
$ =>结束最新组([0- 9] {7})
如果使用matcher.contains()
而不是matcher.find()
,它将匹配整个字符串,而不是尝试查找匹配的子字符串。或者您可以添加^
和$
锚点,如其他答案中的建议。
如果不这样做真的需要使用正则表达式,或许会更具可读性只使用
string.startsWith("09") && string.length() == 9
使用锚'^ 09 [0-9] {7} $' – anubhava
对于更多的参考“[正则表达式在Java的手机号码](http://howtodoinjava.com/regex/java-regex-validate-international-phone-numbers/)” –