Несколько рекомендаций, как оптимизировать производительность регулярных выражений в C++:
- Использовать сырые строковые литералы для описания шаблона регулярного выражения. 1
- Расположить параметры чередования в порядке наивысшей вероятности. 1 Например, com|net|org. 1
- Использовать ленивые квантификаторы. 1
- По возможности использовать группы без захвата. 13
- Отключить бэктрекинг. 1
- Использовать отрицательный класс символов более эффективно, чем ленивую точку. 1
Также для оптимизации производительности регулярных выражений можно использовать флаг std::regex::optimize
. 24
Для более точной оптимизации рекомендуется воспользоваться инструментом проверки регулярных выражений, например, regex101.com. 1