特定の正規表現を使用し、正規表現が照合される特定の文字数に必要な操作の数に関して最悪の場合のシナリオを返すツールはありますか?正規表現のワーストケース解析
たとえば、(f|a)oo.*[ ]baz
と指定すると、エンジンが100文字に一致する可能性があります。
複数のテキストサンプルを取得して、実行ごとに平均操作を表示できるツールがあれば興味があります。
私はこれが使用されているエンジンと実装に大きく依存することを認識していますが、これがどれほど共通しているかはわかりません。ですから、多くの言語で共通していると(私の質問をあまりにも曖昧にする)、私は特にPerlとPythonに興味があります。
優秀な質問!明らかにそれは正規表現に依存します。純粋な正規表現(以下で参照される '(x + x +)+ y'の例のように)は純粋な有限状態機械のオートマトンを認めているが、一般的な正規表現ライブラリはバックトラックを持つものを実際に実装している文脈のようなもの。あなたが言っているようなツールはhttp://en.wikipedia.org/wiki/Regular_expression_Denial_of_Service_-_ReDoS –