Android上String.replaceAll与Java replaceAll结果不同

public static int checkSecurity(String pwd) {
return pwd.replaceAll("(?:([a-z])|([A-Z])|([0-9])|(.)){5,}|(.)+", "$1$2$3$4$5").length();
}

public static void main(String[] args) {
    System.out.println(checkSecurity("qqqqqqq"));
}
这是我的程序,输出是1,但是checkSecurity这个方法到了android应用里就返回的不是1了,很费解。

应用中打印 pwd.replaceAll("(?:([a-z])|([A-Z])|([0-9])|(.)){5,}|(.)+", "$1$2$3$4$5")看看结果是什么?

pnullnullnullnullnullnull之类的