我们有一个字符串String s = "first.second.third...n-1.n";
两种正则表达式方法中哪一种在 Java 中更有效?
s = s.replaceFirst(".*?\\.", "");
或者
s = s.replaceAll('^[^.]+[.]', '');
他们做同样的事情,但我想知道哪个更快?
区别在于:
使用锚定正则表达式与
replaceFirst()
仅匹配第一个实例使用非贪婪
*?
与非点字符类[^.]
使用
\\.
文字与[.]
字符类。
我更喜欢一个可以分别对它们的性能影响进行基准测试或解释的答案。