根据的文档
String.replaceAll,关于调用该方法有以下说法:
这种形式的方法的调用
str.replaceAll(regex, repl)产生与表达式完全相同的结果Pattern.compile(regex).matcher(str).replaceAll(repl)
因此,可以预期在调用
String.replaceAll和显式创建
Matcher和之间的性能
Pattern应该是相同的。
编辑
正如评论中指出的那样,对于
replaceAllfrom
String或的单个调用将不存在性能差异
Matcher,但是,如果需要对进行多次调用
replaceAll,则可以认为保留已编译的对象将是有益的。
Pattern,因此不必每次都执行相对昂贵的正则表达式模式编译。



