Regex Test Aracı

Bir JavaScript düzenli ifadesini metninize karşı test edin ve tüm eşleşmeleri ve yakalama gruplarını görün; tarayıcınızda.

Tamamen tarayıcınızda çalışır. Hiçbir şey yüklenmez, günlüğe yazılmaz veya saklanmaz.

Çevresindeki eğik çizgiler olmadan.
g i m s u y d v bayraklarından herhangi biri.

Vurgulanmış


    

Bir desen yazın, eşleşmesini beklediğiniz metni yapıştırın ve neyi yakaladığını, neyi kaçırdığını her yakalama grubu ayrı ayrı gösterilerek anında görün.

Nasıl çalışır

Desen tarayıcınız tarafından derlenir ve siz yazarken metin üzerinde çalıştırılır. Gördüğünüz şey, aynı ifadenin JavaScript'te yapacağının tam olarak aynısıdır, çünkü motor aynıdır.

g bayrağıyla tüm eşleşmeler listelenir; o olmadan yalnızca ilki. i bayrağı büyük/küçük harf farkını yok sayar, m ^ ve $ işaretlerinin satır sınırlarında eşleşmesini sağlar, s noktanın satır sonuyla eşleşmesine izin verir, u Unicode modunu açar ve y aramayı son dizine sabitler.

Numaralı yakalama grupları sırayla görünür; (?<ad>...) biçiminde yazılmış bir grup adıyla gösterilir.

Örnekler

Durum Girdi Sonuç
Parçalarına ayrılmış bir ISO tarihi (?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2}) adlandırılmış gruplar olarak yıl, ay ve gün
Bir gönderideki tüm hashtag'ler #\w+ g bayrağıyla her hashtag için bir eşleşme

Sık sorulan sorular

Bu hangi regex türü?

Tarayıcınızın uyguladığı şekliyle JavaScript türü. PHP'nin ve grep -P'nin kullandığı PCRE ile Go'nun kullandığı RE2; lookbehind, sahiplenici niceleyiciler ve Unicode özellik kaçışları konusunda farklılık gösterir. Bir desenin burada çalışması orada da çalışacağını garanti etmez.

Bir desen yazarken sayfa dondu.

Bazı desenler belirli metinlerde felaket düzeyinde geri izleme (backtracking) yapar: (a+)+ gibi iç içe niceleyiciler klasik örnektir. Metnin tamamı üzerindeki arama sınırlandırılmıştır ve bir uyarıyla vazgeçer, ama kontrolden çıkan tek bir eşleşmeyi sayfadaki hiçbir şey durduramaz: JavaScript'in başlatılmış bir düzenli ifadeyi durdurmanın yolu yoktur. Sekmeyi yeniden yükleyin ve bunu bir kaza değil bir bulgu olarak görün: aynı ifade bir sunucuda bir süreci çökertirdi.

Eğik çizgileri eklemem gerekir mi?

Hayır. Yalnızca deseni yazın, bayrakları da bayraklar alanına girin. Desen olarak /abc/gi yapıştırmak eğik çizgileri aradığınız şeyin parçası yapar.

Test metnim bir yere gönderiliyor mu?

Hayır; üstelik paylaşılabilir bağlantının bilerek dışında tutulur. Bağlantıyı kopyalamak deseni ve bayrakları paylaşır, test ettiğiniz metni asla paylaşmaz.

Bilmekte fayda var

  • Desenler hiçbir zaman sunucuda çalıştırılmaz. Bir ziyaretçinin verdiği ve kötü geri izleme yapan bir ifade orada bir hizmet engelleme saldırısı olurdu; bir sekmede ise en fazla o sekmeye mal olur.

Kaynaklar

Tüm Kod araçları