meteor67 发表于 2013-01-22 13:46

Java String的replaceAll函数和正则表达式问题

一个很奇怪的问题

String str = "111.3.22.11";
str = str.replaceAll("(^|\\.)(\\d)(\\.|$)", "$100$2$3");
System.out.println(str);
str = str.replaceAll("(^|\\.)(\\d{2})(\\.|$)", "$10$2$3");
System.out.println(str);
str = str.replaceAll("(^|\\.)(\\d{2})(\\.|$)", "$10$2$3");
System.out.println(str);

打印出来的结果是:
111.003.22.11
111.003.022.11
111.003.022.011

为什么不是
111.003.22.11
111.003.022.011
111.003.022.011


replaceAll不是替换所有匹配项么?
页: [1]
查看完整版本: Java String的replaceAll函数和正则表达式问题