Przejdź do treści

Konwerter glob na regex

Konwertuj wzory glob takie jak *.js lub **/*.test.ts na odpowiadające wyrażenie regularne.

Wejście
Testuj ścieżki (opcjonalnie)
Wynik

Konwerter glob na regex

Wklej jeden lub więcej wzorów glob, a to narzędzie zbuduje równoważne wyrażenie regularne dla każdego z nich, gotowe do wstawienia w skrypt, plik konfiguracji lub język, który rozumie tylko regex. Konwersja wzoru działa również w drugą stronę: przełącz kierunek, aby zmienić proste wyrażenie regularne z powrotem na wzór stylu glob. Każdy wiersz wejścia jest traktowany jako własny wzór, więc możesz konwertować całą partię — listę ignorowania kompilacji, zestaw reguł tras lub listę filtrów plików — w jednym przejściu.

Opcja typu glob zmienia sposób odczytywania wzoru: shell traktuje go jako zwykły symbol wieloznaczny pliku, .gitignore dodaje własną regułę Git, że wzór bez ukośnika pasuje do dowolnej głębokości folderu, a wzór zawierający ukośnik jest zakotwiczony w tej lokalizacji, a minimatch obsługuje alternację w nawiasach klamrowych, takich jak *.{js,ts}. Przełączaj, czy podwójna gwiazdka (**) może przecinać separatory katalogów, czy zachowuje się jak pojedyncza gwiazdka, czy symbol wieloznaczny na początku powinien pasować do ukrytych plików, takich jak .env, wrażliwość na wielkość liter i czy wynik jest zakotwiczony za pomocą ^ i $, aby pasował do całego ciągu, a nie tylko jego części. Konwertowane są również klasy znaków, takie jak [abc] i [!0-9].

Wklej listę ścieżek do drugiego pola i zobacz na żywo, które z twoich wzorów pasują do których ścieżek — przydatne do sprawdzenia reguły .gitignore lub wzoru trasy przed zatwierdzeniem. Dane wyjściowe pozostają w kolejności, w której wprowadzono wzory, i akceptowane są zarówno zakończenia wierszy CRLF, jak i LF.

Wszystko działa lokalnie w przeglądarce: wzory i ścieżki testowe nigdy nie opuszczają urządzenia. Po zakończeniu skopiuj wyrażenia, pobierz plik .txt lub wyślij dane wyjściowe z powrotem do wejścia, aby je dalej udoskonalić.

Częste pytania

Co pasuje podwójny znak gwiazdki (**)?
Gdy jest włączone "Podwójny znak gwiazdki przechodzi przez ukośniki", ** pasuje do dowolnej liczby znaków, w tym separatorów ścieżek, tak więc a/**/z pasuje do a/b/c/z. Wyłącz to, a ** zachowuje się jak pojedyncza gwiazdka, zatrzymując się na następnym /.
Jak styl .gitignore różni się od zwykłego shell glob?
Zgodnie z własną regułą Git, wzór .gitignore bez ukośnika (taki jak *.log) pasuje na dowolnej głębokości drzewa, a wzór zawierający ukośnik (taki jak build/*.log) jest zakotwiczony w tej lokalizacji.
Czy może konwertować regex z powrotem na glob?
Tak, przełącz Kierunek na "Regex → glob". Jest to konwersja najlepszego wysiłku ukierunkowana na proste wzory — rozpoznaje wspólne bloki budowlane, takie jak [^/]*, (?:a|b) i klasy znaków, ale arbitralnie złożone wyrażenie regularne może nie mieć czystego odpowiednika glob.
Czy gwiazdka pasuje do ukrytych plików, takich jak .env?
Domyślnie nie: symbol wieloznaczny na początku segmentu ścieżki pomija początkową kropkę, co odpowiada typowemu zachowaniu shell i .gitignore. Włącz "Znaki wieloznaczne pasują do ukrytych plików (z kropką)", aby je uwzględnić.
Czy mój tekst jest gdzieś przesłany?
Nie. Konwersja i testowanie ścieżki odbywają się całkowicie w przeglądarce — nic, co tutaj wkleisz, nigdy nie opuszcza urządzenia.