İçeriğe geç

Düzenli ifadeleri test et

JavaScript düzenli ifadenizi metninizde canlı eşleşme vurgulama, yakalama grupları ve sade bir dille açıklamayla doğrudan tarayıcınızda test edin.

JavaScript (ECMAScript) regex sürümüTarayıcınız, Node.js ve Deno ile aynı motor
//g

$1 veya $<name> bir grubu, $& eşleşmenin tamamını, $` ve $' eşleşmeden önceki ve sonraki metni, $$ ise dolar işaretini ekler.

Eşleşmeler ve yakalama grupları burada görünür.

Tarayıcınızda çalışır · yükleme yokNasıl çalışır

Regex test aracı nasıl kullanılır

  1. 1

    Bir desen girin

    Düzenli ifadeyi eğik çizgi kullanmadan yazın; bayraklar altındaki düğmelerden seçilir.

  2. 2

    Test metni ekleyin

    Aranacak metni yapıştırın; siz yazdıkça eşleşmeler vurgulanır ve yakalama gruplarıyla birlikte listelenir.

  3. 3

    Açıklamayı inceleyin

    Açıklama sekmesini açıp her belirteci sade Türkçeyle okuyun ve desenin gerçekte ne yaptığını görün.

  4. 4

    Değiştirmeyi önizleyin

    Sonucu görmek için $1 veya $<name> içeren bir değiştirme metni yazın, ardından kodu Kod sekmesinden kopyalayın.

Sınırlar ve Pro

Kaydolmadan ücretsiz: en fazla 100.000 eşleşme sayılır, 2.000'i vurgulanır ve 200'ü tabloda listelenir; vurgulama 200.000 karaktere kadar olan test metinlerini kapsar ve her çalıştırma 1,5 saniye sonra durdurulur.

Pro reklamları kaldırır; araç her planda aynı şekilde çalışır. Pro'yu gör

Regex test aracı hakkında

Bu test aracı, desenizi tarayıcının içinde yerleşik olarak bulunan JavaScript (ECMAScript) düzenli ifade motoruyla çalıştırır. Aynı motoru Node.js, Deno, Bun ve tüm web sayfaları kullanır; yani burada eşleşen ifade kodunuzda da eşleşir. Bir desen ve bir test metni yazdığınızda her eşleşme siz yazarken vurgulanır. Konumların tablosunu, numaralı yakalama gruplarını ve adlandırılmış grupları görürsünüz; d bayrağı açıksa her grubun başlangıç ve bitişi de gösterilir.

Sekiz bayrağın tümü açılıp kapatılabilir: g tüm eşleşmeler için, i büyük/küçük harfi yok saymak için, m ^ ve $ işaretlerinin satır bazında çalışması için, s noktanın satır sonlarıyla da eşleşmesi için, u tam Unicode ve \p{…} özellik kaçışları için, v köşeli parantez içinde kesişim ve çıkarma içeren Unicode kümeleri için, y yapışkan eşleşme için ve d indeksler için. Değiştirme kutusu, String.prototype.replace sonucunu $1, $<name>, $& ve diğer yerine koyma belirteçleriyle önizler; Kod sekmesi de uygun literal, matchAll ve RegExp() örneklerini verir.

Açıklama sekmesi deseni parçalara ayırır ve her birinin ne yaptığını sade Türkçeyle anlatır: gruplar, ileri-geri bakışlar, karakter sınıfları, niceleyiciler ve bunların açgözlü mü tembel mi olduğu. Kopya kağıdı ise sık kullanılan belirteçleri imlecin olduğu yere ekler.

Eşleştirme, arka planda çalışan bir Web Worker içinde ve 1,5 saniyelik sınırla yürür. Uzun bir a dizisine karşı (a+)+b gibi yıkıcı geri izleme yapan bir desen, sekmeyi dondurmak yerine bir açıklamayla durdurulur. PCRE, Python veya .NET için yazılmış desenlerde değişiklik gerekebilir: sahiplenici niceleyiciler, atomik gruplar, özyineleme, \A ve \Z JavaScript'te yoktur.

Gizlilik

Desenler ve test metinleri bu tarayıcı sekmesinden çıkmaz: eşleştirme yerel bir Web Worker içinde yapılır; yazdığınız hiçbir şey yüklenmez, kaydedilmez veya saklanmaz. Bu yüzden gerçek günlük satırlarıyla ya da müşteri verileriyle rahatça test yapabilirsiniz.

Özellikler

Gerçek JS motoru

Tarayıcılardaki ve Node.js'teki RegExp ile birebir aynı eşleşir; v bayrağı kümeleri ve adlandırılmış gruplar dahil.

Belirteç belirteç açıklama

Her grup, sınıf, çapa ve niceleyici sade Türkçeyle anlatılır.

Geri izleme koruması

Eşleştirme 1,5 saniyelik sınırla bir worker içinde çalışır; kötü bir desen sayfayı donduramaz.

Regex test aracı: sık sorulan sorular

Bu araç hangi regex türünü kullanır?
ECMAScript standardında tanımlanan ve kullandığınız tarayıcının uyguladığı JavaScript türünü. Geriye bakış, adlandırılmış gruplar, Unicode özellik kaçışları ve v bayrağını destekler; ancak sahiplenici niceleyiciler, atomik gruplar, özyineleme veya koşullar gibi PCRE özelliklerini desteklemez. Python'daki (?P<name>…) sözdizimi burada (?<name>…) biçiminde yazılmalıdır. Sonuçlar, aynı motor sürümündeki Node.js ve Deno ile uyumludur.
Desenim neden yalnızca ilk eşleşmeyi buluyor?
g bayrağı olmadan JavaScript ilk eşleşmeden sonra durur: exec ve match tek sonuç döndürür, replace de yalnızca ilk örneği değiştirir. Tüm eşleşmeleri bulmak ve değiştirmek için g bayrağını açın. Yapışkan y bayrağı farklıdır: yalnızca önceki eşleşmenin bittiği tam konumda eşleşir, bu da sözcüklere ayırıcılar (tokenizer) için işe yarar.
Yıkıcı geri izleme nedir?
Bir desen aynı metinle birçok farklı biçimde eşleşebiliyorsa, örneğin (a+)+ veya (.*)* gibi iç içe niceleyicilerde, başarısız bir eşleşme motorun her kombinasyonu denemesine yol açar ve bu, girdi uzunluğuyla üstel olarak artar. Burada 1,5 saniye sonra bir uyarıyla durdurulur. Çözüm için seçenekleri birbirini dışlayan hale getirin; örneğin virgülden önce .* yerine [^,]* kullanın.
Değiştirme metninde yakalama gruplarını nasıl kullanırım?
Numaralı gruplar için $1, $2 gibi yazın; (?<year>\d{4}) gibi adlandırılmış gruplar için $<name> kullanın. $& eşleşmenin tamamını, $` öncesindeki metni, $' ise sonrasındaki metni ekler; $$ ise düz bir dolar işareti üretir. Örnek dene, yıl, ay ve gün sırasını bu yöntemle değiştiren bir tarih deseni yükler.
u veya v bayrağına ne zaman ihtiyacım olur?
Metniniz emoji ya da Temel Çok Dilli Düzlem dışındaki karakterler içeriyorsa, nokta ve niceleyiciler bunları tek karakter saysın diye ve \p{L} gibi Unicode özelliklerini kullanmak için u bayrağını kullanın. Daha yeni olan v bayrağı u'nun yaptığı her şeyi içerir ve köşeli parantez içinde küme işlemleri ekler; ASCII dışı harfler için [\p{L}--[a-z]] gibi. İki bayrak birlikte kullanılamaz.