このような非常に大きなファイルがあります (以下を参照)。私はそれに使用する正規表現の2つの基本的な選択肢があります(他にもあるかもしれませんが、GreedyとNegated Char Classを実際に比較しようとしています)メソッド。
ftp: [^\D]{1,}
ftp: (\d)+
ftp: \d+
注: \d の周りの括弧を外したらどうなるでしょうか?
現在、+ はバックトラッキングを強制する貪欲ですが、Negated Char クラスでは文字ごとの比較が必要です。どちらがより効率的ですか? ファイルが非常に大きいと仮定すると、ファイルの長さのためにプロセッサ使用率のわずかな違いが誇張されます。
あなたがそれに答えたので、否定された Char クラスが非常に大きく、たとえば 18 の異なる文字だったらどうしますか? それはあなたの答えを変えるでしょうか?
ありがとう。
ftp: 1117 バイト
ftp: 5696 バイト
ftp: 3207 バイト
ftp: 5696 バイト
ftp: 7200 バイト