regexio/go
Генерируемый клиент с таймаутами и ретраями. Поддержка контекста и отмены валидации длинных паттернов.
Техническая база знаний RegExio: API и SDK, примеры синтаксиса, глоссарий и инструкции по миграции. Всё, что нужно, чтобы паттерны вашей команды проходили ревью без оговорок.
От установки CLI до валидированного паттерна — без регистрации и без карты. Ниже минимальный путь для инженера, который уже знаком с регулярными выражениями.
# 1. установка brew tap regexio/tools brew install regexio # 2. проверка паттерна из файла regexio validate config/email.patt \ --engines pcre,re2,dotnet,rust \ --cost-worst true # 3. вывод отчёта в JSON для CI regexio validate -f json config/email.patt > report.json
Код 01 · минимальный вызов CLI. Полный список флагов — в разделе Справочник по API.
REST отвечает за синхронную валидацию и получение отчётов, WebSocket — за стриминг результатов на больших паттернах и за live-редактирование в IDE-вставках.
{
"pattern": "^[a-z0-9._%+-]+@[a-z0-9.-]+\\.[a-z]{2,}$",
"flags": ["i"],
"engines": ["pcre", "re2"],
"cost": { "worst": true, "samples": 1024 }
}
Отвечает массивом узлов дерева, оценкой стоимости и блоком parity. Заголовок X-Regexio-Report-Id позволяет повторно запросить отчёт по идентификатору.
// клиент отправляет { "type": "patch", "pattern": "(a|b)+c" } // сервер стримит { "type": "cost", "worst": "O(n·m)", "risk": "high" } { "type": "parity", "diff": ["re2:no-lookahead"] } { "type": "done", "ms": 41 }
Каждое изменение паттерна в редакторе шлёт patch-сообщение; сервер возвращает инкрементальные оценки без полного пересчёта дерева.
Генерируемый клиент с таймаутами и ретраями. Поддержка контекста и отмены валидации длинных паттернов.
Синхронный и asyncio-интерфейсы, пандас-совместимый вывод отчётов и интеграция с pytest-фикстурами.
Безопасная обёртка с trait-интерфейсом, сериализация отчётов в serde и оффлайн-режим для локального CI.
Каталог паттернов, прошедших стоимость и parity на всех четырёх движках. Каждый шаблон имеет версию, автора и ссылку на отчёт.
Рис. 05 — Patterns Library, раздел «Сетевые форматы»
^[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,}$
O(n), без lookahead. Автор: А. Верещагин. Отчёт R-2025-0611.
^(\d{1,3}\.){3}\d{1,3}$|^[0-9a-f:]+$
Разделён на альтернативы для предсказуемости в RE2. Отчёт R-2025-0542.
^[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]*$
Проверка только формата, подпись не валидируется. Отчёт R-2025-0602.
Краткие определения, как их использует RegExio в отчётах. Полная версия — в справочнике на 142 страницы.
Ситуация, при которой вложенные группы с альтернативой и повторением вызывают экспоненциальный рост числа переборов. RegExio помечает такие паттерны как risk: high и предлагает переформулировку.
Ассерция, не сдвигающая позицию курсора. Поддерживается не всеми движками: RE2 и Rust regex не знают lookbehind, что отражается в блоке parity.
Конструкция (…|…) с модификатором, запрещающая возврат. Снижает стоимость, но не заменяет правильный выбор структуры паттерна.
Сводка различий в поведении одного паттерна на разных движках. Каждое отличие классифицируется как блокирующее или предупреждающее.
Пошаговые инструкции для команд, использующих сторонние линтеры и валидаторы. Цель — без потери покрытия и с сохранением CI-порогов.
Команда regexio migrate pcre читает существующие .patt-файлы, строит граф переходов и выдаёт список мест, где поведение может отличаться в RE2.
Импорт истории из популярных веб-инструментов через CSV. RegExio пересчитывает стоимость и parity для каждого сохранённого паттерна и помечает изменения.
Адаптер regexio ci-bridge принимает ваши текущие пороги отклика и переводит их в параметры API, чтобы сборки не ломились в день перехода.
Импортируйте существующие паттерны, запустите parity-отчёт и получите список правок с оценкой стоимости. Без карты и без регистрации.