İçeriğe geç
gelistiriciaraclari

Regex Test ve Eşleşme Aracı

Düzenli ifadenizi yazın, test metninde eşleşmeleri anında görün; grup tablosu ve değiştirme önizlemesi aynı ekranda güncellenir.

~/kod/regex-testtarayıcıda çalışır

Eşleşmeler

Vurgulanan eşleşmeler burada görünecek.

Verileriniz tarayıcınızda işlenir ve sunucuya gönderilmez.

Nasıl kullanılır?

  1. 01Desen kutusuna regex'inizi yazın; gerekiyorsa g, i, m, s, u, y bayraklarını işaretleyin.
  2. 02Alt kutuya test metnini yapıştırın, eşleşmeler metin üzerinde anında renklenir.
  3. 03Eşleşme tablosunda her eşleşmenin index'ini, numaralı ve adlandırılmış gruplarını inceleyin.
  4. 04Değiştirme alanına $1 veya $<ad> gibi bir kalıp yazıp sonucu canlı önizleyin.
  5. 05Desen geçersizse hata nedeni Türkçe olarak, imlecin durduğu yerde gösterilir.

Regex Test aracı hakkında

## ECMAScript regex sözdizimi ve bayraklar

Araç JavaScript'in kendi regex motorunu kullanır, yani tarayıcıda \d, \w, lookahead/lookbehind gibi ECMAScript regex sözdizimini destekleyen her desen aynı şekilde çalışır. g bayrağı tüm eşleşmeleri bulur, i büyük/küçük harfi yok sayar, m ^ ve $ karakterlerini her satır başı/sonuna uygular, s noktayı satır sonu dahil her karaktere genişletir, u Unicode kod noktalarını doğru işler, y ise aramayı lastIndex konumuna sabitler.

Yazarken eşleşmeler test metninde canlı olarak renklenir, ayrı bir çalıştırma adımı gerekmez. Eşleşme tablosu her sonucun index'ini, tam metnini, numaralı gruplarını (1, 2, 3…) ve (?<ad>…) sözdizimiyle tanımlanmış adlandırılmış gruplarını ayrı ayrı listeler. Değiştirme kutusuna $1 veya $<ad> yazarak sonucu, orijinal metni bozmadan aynı ekranda önizleyebilirsiniz; bu özellikle çok satırlı log dosyalarında veya CSV benzeri metinlerde alan çıkarmayı hızlandırır.

## Web Worker koruması ve hata mesajları

Bazı desenler, özellikle iç içe tekrar operatörleri içerenler (örneğin (a+)+b gibi), belirli girdilerde üstel zamanda geriye izleme yapar; buna catastrophic backtracking denir ve bir sunucuda tüm isteği, tarayıcıda ise sekmeyi kilitleyebilir. Bu yüzden eşleştirme ayrı bir Web Worker içinde, süre sınırıyla çalışır: desen makul sürede sonuç vermezse işlem otomatik iptal edilir, sayfa donmaz, sadece süre aşımı bildirilir. Böylece üretim koduna eklemeden önce, riskli bir deseni burada güvenle deneyip davranışını gözlemleyebilirsiniz.

Geçersiz bir desen (örneğin kapatılmamış bir grup veya hatalı bir kaçış dizisi) yazıldığında hata Türkçe olarak gösterilir, JavaScript'in ham SyntaxError metni değil. Regex; form doğrulama, log ayrıştırma ve metinden veri çıkarmada sık kullanılır — çıkardığınız değerleri hızlıca Metin Karşılaştırma ile iki sürüm arasında kıyaslayabilir, kodladığınız bir URL parçasını URL Decode ile çözebilir veya bir regex'le doğrulamadan önce girdiyi JSON Doğrulama ile kontrol edebilirsiniz.

Sıkça sorulan sorular

Bu araç hangi regex motorunu kullanıyor?

Tarayıcının JavaScript (ECMAScript) regex motorunu kullanır; PCRE veya Python'ın re modülü gibi diğer motorlardan atomic group gibi bazı özellikler eksiktir.

Named group (adlandırılmış grup) nasıl yazılır?

(?<ad>…) sözdizimiyle tanımlanır ve eşleşme tablosunda hem numarasıyla hem de verdiğiniz adla ayrı ayrı listelenir.

Karmaşık bir regex tarayıcıyı kilitler mi?

Hayır; eşleştirme süre sınırlı bir Web Worker içinde çalışır, catastrophic backtracking durumunda işlem iptal edilir ve sekme donmaz.

Girdiğim metin sunucuya gönderiliyor mu?

Hayır, desen ve test metni yalnızca tarayıcınızda işlenir; hiçbir veri sunucuya gitmez.

g bayrağı olmadan neden sadece bir eşleşme buluyorum?

g (global) bayrağı işaretli değilse regex motoru ilk eşleşmeden sonra durur; tüm eşleşmeleri görmek için g'yi açmanız gerekir.

İlgili araçlar