Regex Test Aracı

JavaScript düzenli ifadelerini doğrudan tarayıcınızda örnek metin üzerinde test edin.

Kalıp (Pattern)
Bayraklar
Test metni
Vurgulanan eşleşmeler
Test etmek için bir kalıp girin.

Kalıbınız ve metniniz tarayıcınızda test edilir. BroBroGo'ya hiçbir şey yüklenmez.

SSS

Metnimi buraya yapıştırmak güvenli mi?

Evet. Eşleşme işlemi tamamen tarayıcınızda gerçekleşir — BroBroGo'ya hiçbir şey gönderilmez.

g/i/m/s bayrakları (flags) ne anlama geliyor?

g yalnızca ilkini değil, her eşleşmeyi bulur. i büyük/küçük harf duyarlılığını yoksayar. m ^ ve $ karakterlerinin tüm dize yerine her satırın başı ve sonuyla eşleşmesini sağlar. s . karakterinin satır sonu karakterleriyle de eşleşmesine izin verir.

Neden kalıbımın çok uzun sürdüğü söylendi?

Bazı kalıplar yıkıcı geri izlemeyi (catastrophic backtracking) tetikler; motor pes etmeden önce üstel sayıda kombinasyon dener ve bu da tarayıcı sekmesini dondurabilir. Bu araç, böyle bir durumda eşleştirmeyi 2 saniye sonra iptal eder, böylece sayfa asla kilitlenmez. (a+)+ gibi iç içe geçmiş tekrarları basitleştirmeyi deneyin.

Regex Test Aracı Nedir ve Nasıl Çalışır?

Regex Test Aracı, JavaScript düzenli ifadelerini (regular expressions) doğrudan web tarayıcınızda örnek bir metin üzerinde test etmenize olanak tanıyan ücretsiz bir çevrimiçi araçtır. Bu araç, yazdığınız düzenli ifadenin farklı girdilerle nasıl davrandığını görmenize yardımcı olmak için her eşleşmeyi ve yakalama grubunu anında vurgular.

Bu araç özellikle şu durumlarda ihtiyaçlarınızı karşılar:

  • Bir düzenli ifadenin metin içindeki belirli kalıpları doğru şekilde tanımlayıp tanımlamadığını kontrol etmek istediğinizde,
  • Farklı düzenli ifade bayraklarının (g, i, m, s) eşleşme davranışını nasıl etkilediğini anlamanız gerektiğinde,
  • Aşırı yavaş geri izleme (catastrophic backtracking) nedeniyle performans sorunlarına yol açabilecek bir düzenli ifadeyi hata ayıklama (debugging) sürecinden geçirirken,
  • Yakalama gruplarını kullanarak bir dizenin belirli bölümlerini ayıklamak istediğinizde.

Aracın Girdileri ve Parametreleri

Regex Test Aracı üzerinde çalışırken kullanabileceğiniz girdiler ve yapılandırabileceğiniz seçenekler şunlardır:

  • Kalıp (Pattern): Test etmek istediğiniz düzenli ifadedir. Araç açıldığında varsayılan yer tutucu örnek olarak \d+ kalıbını gösterir.
  • Bayraklar: Düzenli ifadenizin arama davranışını değiştiren seçeneklerdir. Araçta şu dört bayrak kullanılabilir:
    • g (Global): Yalnızca ilk eşleşmeyi bulmak yerine, metin içindeki her eşleşmeyi bulur.
    • i (Büyük/küçük harfe duyarsız): Eşleşme aranırken büyük ve küçük harf ayrımını yoksayar.
    • m (Çok satırlı): ^ ve $ karakterlerinin tüm dize yerine her satırın başı ve sonuyla eşleşmesini sağlar.
    • s (Nokta yeni satırla eşleşir): . karakterinin satır sonu (yeni satır) karakterleriyle de eşleşmesine izin verir.
  • Test metni: Kalıbınızı test etmek istediğiniz örnek metindir. Bu alan için varsayılan yer tutucu metin "Kalıbınızı test etmek için metin yazın veya yapıştırın" şeklindedir.

Çıktılar ve Sonuçların Yorumlanması

Girdilerinizi yazdıktan sonra araç size anlık olarak şu çıktıları sunar:

  • Vurgulanan eşleşmeler: Test metninizin üzerinde, düzenli ifadenizle eşleşen tüm kısımlar görsel olarak vurgulanır.
  • Eşleşmeler: Bulunan tüm sonuçların listesidir. Bu listedeki her bir eşleşme kartı, eğer kalıbınızda parantezlerle tanımlanmış gruplar varsa Grup {n} şeklinde yakalanan grupları da içerir.
  • Eşleşme: {count}: Düzenli ifadeyle eşleşen toplam sonuç sayısını gösterir.
  • Karakter: Test metnindeki toplam karakter sayısını gösteren istatistiki bir bilgidir.

Kurallar, Sınırlar ve Özel Durumlar

Araç, tarayıcınızın performansını korumak ve doğru geri bildirim sağlamak için belirli kurallar ve sınırlar çerçevesinde çalışır:

  • Eşleşme Bulunamaması: Eğer yazdığınız kalıp test metniyle hiçbir şekilde eşleşmiyorsa, araç ekranda "Eşleşme bulunamadı." uyarısını gösterir.
  • Geçersiz Sözdizimi: Yazdığınız düzenli ifadenin sözdizimi (syntax) hatalı veya geçersiz ise, araç "Geçersiz düzenli ifade (regular expression)." uyarısını verir.
  • Zaman Aşımı: Eğer bir kalıbın çalışması çok uzun sürerse (2 saniyeden fazla), araç eşleştirme işlemini otomatik olarak iptal eder ve "Bu kalıbın çalışması çok uzun sürüyor — aşırı yavaş olabilir. Lütfen basitleştirmeyi deneyin." uyarısını görüntüler. Bu durum genellikle performans sorunlarına yol açan aşırı yavaş geri izlemelerden kaynaklanır.
  • Global Bayrağı Olmadan Çalışma: Eğer "g" (Global) bayrağı seçilmemişse, araç yalnızca ilk eşleşmeyi döndürür.
  • Global Bayrağı Sınırları: "g" (Global) bayrağı seçildiğinde, araç en fazla 1.000 adet eşleşme döndürür. Ayrıca arayüzde en fazla 100 adet eşleşme kartı görüntülenir.
  • Sınır Notu: Eşleşme sayısı bu görüntüleme sınırlarını aştığında, ekranda "İlk {max} kayıt gösteriliyor." şeklinde bir bilgi notu belirir.
  • Temizleme: Araçtaki verileri sıfırlamak için "Temizle" butonuna tıklayabilirsiniz; bu işlem gerçekleştirildiğinde ekranda "Temizlendi." mesajı gösterilir.

Gizlilik ve Veri İşleme Politikası

Bu aracı kullanırken girdiğiniz verilerin güvenliği konusunda endişe etmenize gerek yoktur. Kalıbınız ve test etmek için yazdığınız metin tamamen kendi web tarayıcınızda test edilir. İşlemler istemci tarafında (client-side) gerçekleştiği için BroBroGo sunucularına hiçbir veri yüklenmez ve hiçbir şey gönderilmez.

Sıkça Sorulan Sorular (FAQ)

Metnimi buraya yapıştırmak güvenli mi?
Evet. Eşleşme işlemi tamamen tarayıcınızda gerçekleşir — BroBroGo'ya hiçbir şey gönderilmez.

g/i/m/s bayrakları (flags) ne anlama geliyor?

  • g: Yalnızca ilkini değil, her eşleşmeyi bulur.
  • i: Büyük/küçük harf duyarlılığını yoksayar.
  • m: ^ ve $ karakterlerinin tüm dize yerine her satırın başı ve sonuyla eşleşmesini sağlar.
  • s: . karakterinin satır sonu karakterleriyle de eşleşmesine izin verir.

Neden kalıbımın çok uzun sürdüğü söylendi?
Bazı kalıplar yıkıcı geri izlemeyi (catastrophic backtracking) tetikler; motor pes etmeden önce üstel sayıda kombinasyon dener ve bu da tarayıcı sekmesini dondurabilir. Bu araç, böyle bir durumda eşleştirmeyi 2 saniye sonra iptal eder, böylece sayfa asla kilitlenmez. (a+)+ gibi iç içe geçmiş tekrarları basitleştirmeyi deneyin.