Это бессмысленный вопрос. Регулярные выражения - это не алгоритм, а язык. Существует много реализаций этого языка, каждый из которых имеет свои собственные характеристики производительности, и каждое отдельное регулярное выражение имеет свои собственные затраты. Например, чередование /(a|b|c)/
является проблемой распараллеливания, поэтому на механизмах, которые выполняют выражение параллельно, производительность будет лучше, чем на тех, которые этого не делают.
Это похоже на вопрос о том, как лучше всего сортировать. Некоторые люди скажут вам O(n log n)
, но они будут неправы. Там ответ зависит от используемого алгоритма. Есть некоторые виды (например, radix sort ), которые имеют худший случай O(n)
.