Перейти до вмісту

Конвертер 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. Ввімкніть "Підстановочні символи збігаються зі скритими файлами (з крапкою)", щоб включити їх.
Мій текст кудись завантажується?
Ні. Перетворення та тестування шляху працюють повністю у вашому браузері — ніщо, що ви вставляєте, ніколи не покидає ваш пристрій.