İçeriğe atla

Glob to regex dönüştürücü

*.js veya **/*.test.ts gibi glob desenleri eşleştiren düzenli ifadeye dönüştürün.

Giriş
Yolları test et (isteğe bağlı)
Çıkış

Glob to regex dönüştürücü

Bir veya daha fazla glob deseni yapıştırın ve bu araç her biri için eşleştiren düzenli ifadeyi oluşturur, bir komut dosyasına, bir yapılandırma dosyasına veya yalnızca düzenli ifadeyi anlayan bir dile bırakmaya hazırdır. Desen dönüştürme diğer yönde de çalışır: basit bir düzenli ifadeyi glob stili desene geri dönüştürmek için yönü değiştirin. Girdinin her satırı kendi deseni olarak kabul edilir, bu nedenle tüm bir parti desen dönüştürebilirsiniz — bir derleme yoksayma listesi, bir rota eşleştirme kümesi, bir dosya filtreleme listesi — tek bir geçişte.

Glob stil seçeneği, bir deseni nasıl okuduğunu ayarlar: shell bunu düz bir dosya adı joker karakteri olarak kabul eder, .gitignore Git'in ek kuralını ekler, eğik çizgi olmayan bir desen (*.log gibi) ağaçta herhangi bir derinlikte eşleşir, eğik çizgi içeren bir desen (build/*.log gibi) bu konuma köklenmiştir ve minimatch *.{js,ts} gibi kaşlı ayraç alternatifini destekler. Çift yıldız (**)lerin dizin ayırıcılardan geçip geçemeyeceğini, tek yıldız gibi davranıp davranmayacağını, başta joker karakterin .env gibi gizli dosyalara eşleşip eşleşmeyeceğini, büyük-küçük harf duyarlılığını ve sonucun tüm dize yerine parça yerine tüm dizeyi eşleştirmek için ^ ve $ ile sabitlenip sabitlenmediğini değiştirebilirsiniz. [abc] ve [!0-9] gibi karakter sınıfları da dönüştürülür.

Desenleri test etmek için ikinci alana bir yol listesi yapıştırın — .gitignore kuralını veya bir rota deseni kontrol etmek için faydalı, işlemeden önce. Çıktı, desenlerin girilme sırasında kalır ve hem CRLF hem de LF satır sonlandırmaları kabul edilir.

Her şey yerel olarak tarayıcınızda çalışır: desenler ve test yolları cihazınızdan asla ayrılmaz. İşiniz bittiğinde, ifadeleri kopyalayın, bir .txt dosyası indirin veya çıktıyı daha fazla iyileştirmek için geri giriş olarak gönderin.

FAQ

Çift yıldız (**) ne eşleştirir?
"Çift yıldız eğik çizgileri geçebilir" açıkken, ** yol ayırıcılarını da içeren herhangi bir sayıda karakterle eşleşir, bu nedenle a/**/z, a/b/c/z ile eşleşir. Kapatın ve ** tek bir yıldız gibi davranır, bir sonraki / de durur.
Düz bir shell glob'dan .gitignore stili nasıl farklıdır?
Git'in kendi kuralına göre, eğik çizgi olmayan bir desen (*.log gibi) ağaçta herhangi bir derinlikte eşleşir, oysa eğik çizgi içeren bir desen (build/*.log gibi) tam o konuma köklenmiştir.
Düzenli ifadeyi glob'a geri dönüştürebilir mi?
Evet, Yönü "Regex → glob" olarak değiştirin. Bu, basit desenleri hedefleyen en iyi çaba dönüştürmesidir — [^/]*, (?:a|b) ve karakter sınıfları gibi yaygın yapı taşlarını tanır, ancak keyfi olarak karmaşık bir düzenli ifadenin temiz bir glob eşdeğeri olmayabilir.
Yıldız .env gibi gizli dosyalarla eşleşir mi?
Varsayılan olarak hayır: bir yol segmentinin başlangıcında bir joker karakter, tipik shell ve .gitignore davranışıyla eşleşen bir başta noktayı atlar. Bunları dahil etmek için "Joker karakterler gizli (nokta) dosyalarına eşleşir" seçeneğini açın.
Metnim bir yere yükleniyor mu?
Hayır. Dönüştürme ve yol testi tamamen tarayıcınızda çalışır — yapıştırdığınız hiçbir şey cihazınızdan ayrılmaz.