Перейти к содержанию

Конвертер glob в регулярные выражения

Преобразуйте глобальные паттерны, такие как *.js или **/*.test.ts, в соответствующее регулярное выражение.

Входные данные
Тестовые пути (опционально)
Выходные данные

Конвертер glob в регулярные выражения

Вставьте один или несколько глобальных паттернов, и этот инструмент построит эквивалентное регулярное выражение для каждого, готовое к использованию в скрипте, файле конфигурации или языке, который понимает только regex. Преобразование паттернов работает и в обратном направлении: переключитесь на "Regex → glob", чтобы превратить простое регулярное выражение обратно в глобальный паттерн. Каждая строка входных данных рассматривается как отдельный паттерн, поэтому вы можете преобразовать сразу целый пакет — список игнорирования при сборке, набор матчеров маршрутов, список фильтров файлов — в одном проходе.

Опция стиля glob изменяет способ чтения паттерна: shell трактует его как обычный подстановочный символ имени файла, .gitignore добавляет собственное правило Git, что паттерн без слэша совпадает на любой глубине папки, а паттерн, содержащий слэш, привязан к этому месту, а minimatch поддерживает альтернацию в фигурных скобках типа *.{js,ts}. Переключайте, может ли двойная звезда (**) пересекать разделители директорий или вести себя как одна звезда, должна ли ведущая подстановка совпадать с dotfiles, такими как .env, чувствительность к регистру и должен ли результат быть привязан символами ^ и $ для совпадения со всей строкой, а не только её частью. Символьные классы, такие как [abc] и [!0-9], также преобразуются.

Вставьте список путей во второе поле, чтобы увидеть в реальном времени, какие из ваших паттернов совпадают с какими путями — полезно для проверки правила .gitignore или паттерна маршрута перед тем, как вы его применяете. Результат остаётся в порядке ввода паттернов, и принимаются как CRLF, так и LF переводы строк.

Всё работает локально в вашем браузере: паттерны и тестовые пути никогда не покидают ваше устройство. По завершении скопируйте выражения, загрузите файл .txt или отправьте результат обратно во входные данные для дальнейшего уточнения.

FAQ

Что совпадает с двойной звездой (**)?
Когда включена опция "Двойная звезда (**) пересекает слэши", ** совпадает с любым количеством символов, включая разделители путей, поэтому a/**/z совпадает с a/b/c/z. Выключите её, и ** ведёт себя как одна звезда, останавливаясь на следующем /.
Чем стиль .gitignore отличается от обычного shell glob?
Следуя собственному правилу Git, паттерн .gitignore без слэша (например *.log) совпадает на любой глубине дерева, а паттерн, содержащий слэш (например build/*.log), привязан к этому конкретному месту.
Может ли он преобразовать регулярное выражение обратно в glob?
Да, переключитесь на направление "Regex → glob". Это преобразование, направленное на простые паттерны — оно распознаёт общие блоки, такие как [^/]*, (?:a|b) и символьные классы, но произвольно сложное регулярное выражение может не иметь чистого эквивалента glob.
Совпадает ли звезда со скрытыми файлами, такими как .env?
По умолчанию нет: подстановочный символ в начале сегмента пути пропускает ведущую точку, соответствуя типичному поведению shell и .gitignore. Включите "Подстановочные символы совпадают со скрытыми файлами (с точкой)", чтобы включить их.
Мой текст куда-нибудь загружается?
Нет. Преобразование и тестирование пути работают полностью в вашем браузере — ничего, что вы вставляете, никогда не покидает ваше устройство.