Линтинг Regex
Обнаружение ошибочных и рискованных паттернов регулярных выражений, проверка на катастрофический откат, неякоренные паттерны и предоставление предложений по переписыванию
## Линтинг Regex
## Обзор
Инструмент линтинга Regex анализирует регулярные выражения на наличие общих анти-паттернов, проблем с производительностью и проблем с корректностью. Помогает писать более качественные, безопасные и эффективные регулярные выражения.
## Обнаруживаемые Проблемы
### Критические Проблемы (Производительность)
- **Катастрофический Откат**: Вложенные квантификаторы вроде `(a+)+` могут вызывать экспоненциальную сложность
- **Квадратичное Поведение**: Паттерны вроде `(.*)*` показывают производительность O(n²)
- **Неограниченные Повторы**: Жадные квантификаторы без ограничения максимальной длины
### Проблемы Ошибок (Корректность)
- **Неэкранированные Точки**: Использование `. ` вместо \. (буквальная точка)
- **Отсутствие Якорей**: Паттерны могут совпадать в любом месте текста
- **Неверные Классы Символов**: Диапазоны вроде `[a-Z]` включают неожиданные символы
- **Восьмеричные Экраны**: Неоднозначные ` ` в современном regex
### Предупреждающие Проблемы (Читаемость)
- **Нежадные Выражения**: Паттерны `.*?` могут использовать отрицательные классы символов
- **Избыточные Экраны**: Лишние обратные слеши вроде `\-`
- **Двойное Отрицание**: Запутанные паттерны `[^[^]]`
- **Неоднозначная Альтернация**: `a|ab` где важен порядок
Документация API
Конечная точка запроса
POST /ru/api/tools/regex-linter
Параметры запроса
| Имя параметра | Тип | Обязательно | Описание |
|---|---|---|---|
| regexPattern | text | Да | - |
| regexFlags | text | Нет | - |
| targetDialect | select | Нет | - |
| checkLevel | select | Нет | - |
| includeSuggestions | checkbox | Нет | - |
Формат ответа
{
"key": {...},
"metadata": {
"key": "value"
},
"error": "Error message (optional)",
"message": "Notification message (optional)"
}
Данные JSON:
Данные JSON
Документация MCP
Добавьте этот инструмент к конфигурации сервера MCP:
{
"mcpServers": {
"elysiatools-regex-linter": {
"name": "regex-linter",
"description": "Обнаружение ошибочных и рискованных паттернов регулярных выражений, проверка на катастрофический откат, неякоренные паттерны и предоставление предложений по переписыванию",
"baseUrl": "https://elysiatools.com/mcp/sse?toolId=regex-linter",
"command": "",
"args": [],
"env": {},
"isActive": true,
"type": "sse"
}
}
}
Вы можете объединять несколько инструментов, например: `https://elysiatools.com/mcp/sse?toolId=png-to-webp,jpg-to-webp,gif-to-webp`, максимум 20 инструментов.
Если вы столкнулись с проблемами, пожалуйста, свяжитесь с нами по адресу [email protected]