注释处为什么不能改成String regex = "[1][358]\\d{6}(.)\\1{3}";呢?
需求:(1)定义一个存放手机号码的数字字符串数组{"16210626656","18601066888","13912387666","13156166693","15115888028"}
(2)利用正则表达式过滤出符合条件的手机号码;规则:第1位是1,第二位可以是数字358其中之一,后面6位任意数字,最后5位为任意相同的数字。
public static void Test1() {
String[] s = { "16210626656", "18601066888", "13912387666",
"13156166693", "15115888028" ,"13912387667"};
String regex = "[1][358]\\d{6}(.)\\1+"; // String regex = "[1][358]\\d{6}(.)\\1{3}";为什么不行呢?
int i = 0;
while (i < s.length) {
if (s[i].matches(regex)) {
System.out.println(s[i]);
}
i++;
}
}
注释处改成{3} 为什么不行呢 ? 大括号意思不是符合几次吗? |
|