§

Desen

Bayraklar
§

Test dizesi

§

Eşleşmeler

0 eşleşme

    Henüz eşleşme yok — yukarıya bir desen ve test dizesi yazın.

    §

    Değiştirme modu

    Hızlı başvuru

    Karakter sınıfları

    \d
    Herhangi bir rakam, [0-9] ile eşdeğer.
    \w
    Herhangi bir sözcük karakteri — harf, rakam veya alt çizgi.
    \s
    Herhangi bir beyaz boşluk — boşluk, sekme, yeni satır vb.

    Bağlantılar

    \b
    Sözcük sınırında sıfır genişlikli bir doğrulama.
    ^
    Girişin başlangıcı (veya m bayrağı aktifken her satırın başı).
    $
    Girişin sonu (veya m bayrağı aktifken her satırın sonu).

    Niceleyiciler

    *
    Önceki simgenin sıfır veya daha fazlası, açgözlü.
    +
    Önceki simgenin bir veya daha fazlası, açgözlü.
    ?
    Önceki simgenin sıfır veya biri — ayrıca önündeki niceleyiciyi tembel yapar.
    {n,m}
    Önceki simgenin n ile m arasında tekrarı.

    Gruplar

    (...)
    Yakalama grubu — değiştirmelerde $1, $2, … olarak sunulur.
    (?:...)
    Yakalamayan grup — slot tüketmeden gruplar.
    (?...)
    Adlandırılmış yakalama grubu — değiştirmelerde $ olarak sunulur.

    Lookaround

    (?=...)
    Pozitif lookahead — yalnızca arkasından … gelirse eşleşir
    (?!...)
    Negatif lookahead — yalnızca arkasından … GELMEZSE eşleşir
    (?<=...)
    Pozitif lookbehind — yalnızca öncesinde … varsa eşleşir
    (?
    Negatif lookbehind — yalnızca öncesinde … YOKSA eşleşir

    Kaçışlar

    \\
    Düz bir ters eğik çizgi.
    \.
    Düz bir nokta — herhangi bir meta karakteri literal olarak eşleştirmek için kaçırın.

    Türkiye'deki geliştiriciler bu test aracını günlük olarak Türk TC Kimlik No için 11 haneli sayı desenleri yazmak, IBAN'ın TR ile başlayan 26 karakterlik yapısını doğrulamak, GİB tarafından üretilen e-Fatura ETTN UUID'lerini ya da 13 haneli Vergi Kimlik Numarasını ayrıştırmak için kullanır. Trendyol veya Hepsiburada SKU şablonları, Yemeksepeti restoran slug'ları, BiTAKSİ plaka kalıpları, Logo Yazılım ile Mikro ERP CSV içe aktarımlarındaki Türkçe karakterli alan adları sık denenir. Apache, NGINX ve AWS WAF günlüklerinden KVKK uyumlu olarak hassas alanları maskelemek; BDDK denetim raporlarında bulunan TR cep telefonu desenlerini (+90 veya 5XX ile başlayan) ayıklamak; React form doğrulamasında felaket geri izleme riskini lokalde tespit etmek tipiktir.

    Regex tarayıcınızda nasıl çalışır?

    Her JavaScript çalışma zamanı yerel bir düzenli ifade motoru ile birlikte gelir — new RegExp(pattern, flags) deseninizi derler, ardından String.prototype.match, String.prototype.replace ve RegExp.prototype.exec gibi metotlar onu herhangi bir giriş dizesine karşı çalıştırır. Bu test aracı, o motoru bir arayüze sararak deseni tarayıcıdan çıkmadan düzenlemenize, çalıştırmanıza ve incelemenize olanak tanır. Yazdığınız hiçbir şey — desen, bayraklar, test dizesi veya değiştirme — ağ üzerinden gönderilmez.

    Regex test aracı nasıl çalışır?

    İşlem hattı birkaç kısa adımdan oluşur ve her hepsi her tuş vuruşunda istemci tarafında çalışır (yazmanın akıcı kalması için 150 ms debounce ile):

    1. Deseninizin gövdesi yukarıdaki alandan okunur (başta veya sonda / ayırıcısı yok — onlar sadece dekoratif). Seçili bayrak rozetleri gi veya gimsuy gibi bir bayrak dizesinde birleştirilir.
    2. new RegExp(patternBody, flags) deseni derler. Motor bir SyntaxError atarsa (örneğin eşleşmeyen parantez veya geçersiz kaçış), mesaj test dizesinin üzerinde görüntülenir ve eşleşme listesi temizlenir. Derleme hatası V8 / SpiderMonkey / JavaScriptCore'un gerçek err.message değeridir, dolayısıyla DevTools'ta göreceğinizle aynıdır.
    3. Eşleşme listesi için araç her zaman sentetik bir global bayrakla sıralama yapar — yani g'yi kapatsanız bile liste her eşleşmeyi gösterir. Standart sıfır genişlikli eşleşme koruması (if (m.index === rx.lastIndex) rx.lastIndex++) boş dizeyle eşleşen desenlerde döngünün takılmasını engeller. Değiştirme modu sizin gerçek bayrak kümenize saygı duyar, böylece $& String.prototype.replace ile aynı davranır.
    4. Her yineleme arasında araç performance.now() - start'ı kontrol eder ve 50 ms geçtiğinde iptal eder. Bu, (a+)+$ gibi girdilerde uzun bir a dizisine karşı felaket geri izlemeden korur — aksi takdirde sekme donardı. Koruma en iyi çabayla işler: tek eşleşmeli patolojik bir desen tek bir exec çağrısı içinde yine de zaman tüketebilir. Bu olursa sekmeyi yenileyin ve deseni açgözlü olmayan bir niceleyici ya da atomik tipte sahiplenici stil ile yeniden yazın (örneğin [^x]*x).
    5. Test dizesi her eşleşmenin aralığında segmentlere bölünür ve eşleşen segmentler <mark class="rx-match rx-cap-N"> öğelerine sarılır; burada N altı palet rengi arasında döner, böylece komşu eşleşmeler bir bakışta ayırt edilir. Her eşleşmenin numaralı grupları (m[1], m[2], …) ve adlandırılmış grupları (m.groups) altta etiketli satırlar olarak gösterilir; d bayrağı aktifse her grup için [start, end] dizinleri de gösterilir.

    Bu regex test aracını neden kullanmalı?

    • Gizlilik: her desen, test dizesi ve değiştirme tarayıcınızda yerleşik JavaScript RegExp motoruyla çalışır. Hiçbir şey sekmeden çıkmaz — giriş bir müşteri günlüğü, sızdırılmış kimlik bilgisi deseni veya barındırılan bir SaaS regex oyun alanına yapıştırmayacağınız başka bir şey olduğunda önemlidir.
    • Dürüst lezzet: araç tam olarak Node.js, Chrome, Safari, Firefox ve her tarayıcı tabanlı form doğrulayıcının çalıştırdığı regex motorunu sergiler. İnce farkları gizleyen Perl tadına çeviren bir katman yoktur — burada ne işe yarıyorsa kodunuzda da işe yarar.
    • Yakalama ve adlandırılmış grup hata ayıklama: her numaralı grup ($1, $2, …) ve adlandırılmış grup ($<year>) her eşleşme için gösterilir, böylece bir ayrıştırıcı kurabilir ve slotları tahmin etmeden okuyabilirsiniz. Değiştirme modu grupları serbestçe karıştırmanıza izin verir — $2-$1 ilk iki slotu yer değiştirir, $<name> adlandırılmış bir slot ekler ve $& tüm eşleşmeyi yansıtır.
    • Felaket geri izleme koruması: numaralandırmada 50 ms'lik tavan, (a+)+$ gibi patolojik desenleri sekmeyi dondurmadan iptal eder. Donmuş bir tarayıcı yerine açıklayıcı bir hata görürsünüz ve sayfa hemen toparlanır.

    Bir regex test aracının yaygın uygulamaları nelerdir?

    Düzenli ifadeler web geliştirme, güvenlik ve veri çalışmalarında karşımıza çıkar — bu araç en yaygın kullanım durumlarına odaklanır:

    • Form doğrulama: bir e-posta, telefon veya posta kodu deseninin prototipini oluşturun, örnek girdileri test dizesine yapıştırın ve deseni üretim koduna göndermeden önce her olumlu vakanın eşleştiğini ve her olumsuz vakanın eşleşmediğini doğrulayın.
    • Günlük tarama: NGINX, uygulama veya denetim günlüğü çıktısının bir parçasını yapıştırın, ilgilendiğiniz bölümler için adlandırılmış gruplarla bir desen yazın ((?<ip>…) (?<path>…)) ve ayrıştırıcınızın doğruluğunu doğrulamak için her eşleşmenin yakalanan slotlarını okuyun.
    • Refaktör için bul-değiştir: bir snippet'teki tanımlayıcıları yeniden yazmak için Değiştirme modunu kullanın — (\w+)\.set(\w+)\($1.$2 = setter çağrılarını özellik atamalarına dönüştürür ve canlı önizleme, sonucu bir codemod'a işlemeden önce gösterir.

    Bir regex örneği nasıl görünür?

    Şu deseni alın: (\d{4})-(\d{2})-(\d{2}) g bayrağıyla, release 2025-11-15, prerelease 2026-05-25 test dizesine karşı çalıştırılıyor. Motor iki eşleşme bulur. İlk eşleşme 2025-11-15'tir; grup 1 = 2025, grup 2 = 11, grup 3 = 15. İkinci eşleşme 2026-05-25'tir; aynı grup yapısına sahiptir. Değiştirme modunda $3/$2/$1 değiştirme şablonu her iki tarihi 15/11/2025 ve 25/05/2026 olarak yeniden yazar — tek desenle ISO'dan DMY'ye dönüştürmeyi bir komut dosyasına bağlamadan önce görsel olarak doğrulayabilirsiniz.

    Bu test aracını herhangi bir regex çalışması için hızlı yol olarak kullanın — desen kurma, hata ayıklama veya yeniden yazma. Her şey yerel olarak çalışır; hiçbir şey kaydedilmez; regex motoru tarayıcınızın getirdiği motordur, dolayısıyla davranış üretim kodunun çalışma zamanında göreceğiyle eşleşir.