Я только что прочитал интересную статью о деталях реализации для различных языков, поддерживающих регулярные выражения.
В нем описывается альтернативная реализация регулярных выражений, в которой используются недетерминированные конечные автоматы (NFA) по сравнению с детерминированными (DFA). В нем утверждается, что реализации DFA с обратным отслеживанием (версия, используемая в Perl, Java и др.) Подвержены очень медленной работе с некоторыми особенно «патологическими» регулярными выражениями. (grep, awk и Tcl по-прежнему используют DFA, но как-то экспоненциально быстрее)
В нем нет ссылки на .NET Framework, но я хотел бы знать, как реализованы регулярные выражения .NET (в частности, C #) и как они сравниваются с точки зрения производительности.
Edit:
Могу ли я предположить, что, поскольку в статье ответчика упоминается, что .NET выполняет возврат, он будет наравне с Perl и Java?