Существуют ли какие-либо инструменты, которые будут принимать определенное регулярное выражение и возвращать худший сценарий с точки зрения количества операций, необходимых для определенного количества символов, с которыми сопоставляется регулярное выражение?
Так, например, если задано (f|a)oo.*[ ]baz
, сколько шагов может запустить движок через 100 символов?
Мне также было бы интересно, есть ли инструмент, который может взять кучу текстовых образцов и показывать средние операции для каждого прогона.
Я понимаю, что это будет зависеть от используемого двигателя и реализации, но я не знаю, насколько это распространено. Так что, если это распространено для многих языков (что делает мой вопрос слишком расплывчатым), меня особенно интересовали бы Perl и Python.