文字列がありますString s = "first.second.third...n-1.n";
2 つの正規表現アプローチのうち、Java でより効率的なのはどれですか?
s = s.replaceFirst(".*?\\.", "");
また
s = s.replaceAll('^[^.]+[.]', '');
彼らは同じことをしますが、どちらが速いのだろうか?
違いは次のとおりです。
固定正規表現を使用する vs.
replaceFirst()最初のインスタンスのみに一致する貪欲
*?でない文字クラスとドット以外の文字クラスの使用[^.]\\.リテラルと[.]文字クラスの使用。
それらのパフォーマンスへの影響を個別にベンチマークまたは説明する回答を希望します。