Линтинг Regex
Обнаружение ошибочных и рискованных паттернов регулярных выражений, проверка на катастрофический откат, неякоренные паттерны и предоставление предложений по переписыванию
Линтинг Regex
Обзор
Инструмент линтинга Regex анализирует регулярные выражения на наличие общих анти-паттернов, проблем с производительностью и проблем с корректностью. Помогает писать более качественные, безопасные и эффективные регулярные выражения.
Обнаруживаемые Проблемы
Критические Проблемы (Производительность)
- Катастрофический Откат: Вложенные квантификаторы вроде
(a+)+могут вызывать экспоненциальную сложность - Квадратичное Поведение: Паттерны вроде
(.*)*показывают производительность O(n²) - Неограниченные Повторы: Жадные квантификаторы без ограничения максимальной длины
Проблемы Ошибок (Корректность)
- Неэкранированные Точки: Использование
.вместо . (буквальная точка) - Отсутствие Якорей: Паттерны могут совпадать в любом месте текста
- Неверные Классы Символов: Диапазоны вроде
[a-Z]включают неожиданные символы - Восьмеричные Экраны: Неоднозначные