鉴于此代码:
String replaced = "A".replaceAll(".*", "HI");
Run Code Online (Sandbox Code Playgroud)
为什么replaced包含字符串HIHI而不是HI我猜想的?由于使用模式^.*产量HI,它似乎与行的开头有关,但我没有理由这样做.
查看replaceAll javadoc:将此字符串的每个子字符串替换为给定替换的给定正则表达式.这匹配两个子串:""和"A".你可以通过测试看到这一点
String replaced = "".replaceAll( ".*", "HI" );
Run Code Online (Sandbox Code Playgroud)
这导致打印单个"HI"