Regex Tester: Düzenli İfade

Bir desen ve bir test metni yazın. Yazdıkça her eşleşme metinde vurgulanır; listede her eşleşmenin yeri ve grupların yakaladığı metin görünür. Yazdığınız hiçbir şey tarayıcınızdan çıkmaz.

Ücretsiz Tarayıcınızda çalışır Kontrol: 10 Kasım 2026 Salı

Bu araç tarayıcınızda çalışır. Girdiğiniz bilgiler bize gönderilmez.

Nasıl kullanılır?

  1. Deseni eğik çizgiler olmadan yazın. Örnek, 2026-11-10 biçimindeki tarihleri bulur.
  2. İhtiyacınız olan bayrakları işaretleyin. g her eşleşmeyi bulur, i büyük ve küçük harf farkını yok sayar, m ve s satır sonlarının nasıl okunacağını değiştirir.
  3. Test metninizi yapıştırın. Eşleşmeler hemen vurgulanır; metnin altındaki listede her birinin konumu ve grupları yazar.
  4. Sonucu görmek için Şununla değiştir kutusuna bir metin yazın, ardından Kopyala düğmesine basın.

Eşleştirme burada nasıl çalışır?

Sayfa, tarayıcınıza yerleşik düzenli ifade motorunu kullanır; JavaScript'in kullandığı motor budur. Eşleşmeler metnin başından sonuna doğru sırayla bulunur. Gösterilen konum, eşleşmeden önce kaç karakter olduğudur ve 0'dan başlar; JavaScript'in metinleri saydığı gibi UTF-16 birimleriyle sayılır.

Arama, sayfanın yanıt verebilmesi için tarayıcınızın arka plandaki bir worker'ında çalışır. Arama 10.000 eşleşmeden sonra durur ve 200.000 karakterden uzun bir metin aranmaz. Boş bir eşleşme bulabilen desenler, örneğin x*, her boş eşleşmeden sonra bir karakter ilerler; böylece arama her zaman biter. 2 saniyeden uzun süren arama durdurulur; geri izleme bölümüne bakın.

  • g bayrağı yoksa yalnızca ilk eşleşme gösterilir; String.match() da böyle çalışır.
  • u bayrağı bir emojiyi ya da temel düzlem dışındaki her karakteri tek karakter olarak okur.
  • d bayrağı listeye her grubun başlangıç ve bitiş konumunu ekler.

Felaket boyutunda geri izleme ve 2 saniye sınırı

Düzenli ifade motoru, bir desenin eşleşebileceği yolları teker teker dener. Bazı desenlerde, özellikle (a+)+ gibi bir tekrarlı grubun içinde bir tekrarlı grup varsa, yol sayısı çok hızlı büyür: metne eklenen her karakter işi yaklaşık iki katına çıkarabilir. Bu en çok metin neredeyse eşleşirken ama sonunda başarısız olurken yaşanır.

Örneğin (a+)+$ deseni, çok sayıda a harfi ve ardından bir ünlem işareti içeren bir metinde hiçbir zaman eşleşmez; çünkü $ metnin sonunu ister. Motor yine de harflerin bölünebileceği her yolu dener. Yirmi altı harfte arama tipik bir bilgisayarda bir saniye ya da daha uzun sürebilir ve her harf eklendiğinde çok daha yavaşlar. Süre cihaza göre değişir.

Bu sayfa her aramayı arka plandaki bir worker'da çalıştırır ve 2 saniye sonra durdurur; bir mesaj gösterir. Sayfanın geri kalanı çalışmaya devam eder; deseni ya da metni değiştirip yeniden deneyebilirsiniz.

  • Aynı karakterler üzerinde bir tekrarı başka bir tekrarın içine koymayın: (a+)+$ yerine (a+)$ yazın. Aynı metinde güvenli desen hemen biter.
  • Belirli olun: grubun içinde nokta (.) yerine [a-z] ya da \d+ kullanın; böylece eşleşmenin parçaları çok farklı biçimlerde örtüşemez.
  • Önce desenizi metnin kısa bir örneğinde, sonra tam metinde deneyin.
  • Mümkünse desenleri çapalayın: başta ^, sonda $ kullanın; motor her başlangıç noktasını denemek zorunda kalmaz.

Değiştirme desenleri

Değiştirme metni JavaScript'in String.replace() kurallarını izler. Dolar işareti, eşleşen metinle değiştirilen bir kod başlatır:

Yazdığınız Yerine geçen
$1, $2 ve benzeri Numaralı grubun yakaladığı metin
$& Eşleşmenin tamamı
$` Eşleşmeden önceki metin
$' Eşleşmeden sonraki metin
$$ Tek bir dolar işareti
Dolar işareti, küçüktür işareti, grup adı ve büyüktür işareti Adlandırılmış grubun yakaladığı metin

PCRE ve .NET ile farklar

PCRE (PHP ve birçok Linux aracı) ya da .NET (C#, Visual Basic) için yazılmış bir desen çoğu zaman burada da çalışır; ancak bazı özellikler yalnızca motorlardan birinde vardır. Tabloda en önemli olanlar yer alır.

Özellik JavaScript (bu sayfa) PCRE ve .NET
Atomik gruplar ve possessive niceleyiciler Yok Atomik gruplar PCRE ve .NET'te; a++ gibi possessive niceleyiciler yalnızca PCRE'de
\A, \Z ve \z çapaları Yok: ^ ve $ kullanın Var
(?P<…>) biçiminde adlandırılmış grup Yok PCRE'de var
Desen içinde (?i) gibi satır içi seçenek Yok: bayrağı kullanın .NET'te var
\K ile eşleşmeden metin çıkarma Yok PCRE'de var
Adlandırılmış grubu değiştirme Dolar işareti, küçüktür işareti, ad, büyüktür işareti .NET'te dolar işareti, süslü parantez, ad, süslü parantez

Örnek: bir metinde üç tarih

Örnek desenin üç adlandırılmış grubu vardır: yıl için dört rakam, ay ve gün için ikişer rakam; aralarında tire bulunur. Metinde üç tarih vardır ve bunlar 14, 34 ve 50. konumlarda eşleşir; sayım ilk harfte 0'dan başlar.

Değiştirme metni gün, ay, yıl olarak üç grup adıyla yazılınca (her adı dolar işareti ile küçüktür ve büyüktür işaretleri arasında yazarak) üç tarih 10.11.2026, 03.12.2026 ve 15.01.2027 olur. Sonuç şöyle okunur: Fatura tarihi 10.11.2026, ödeme 03.12.2026. Son ödeme 15.01.2027.

Sık sorulan sorular

Bu araç hangi düzenli ifade türünü kullanır?

Tarayıcınıza yerleşik JavaScript motorunu kullanır. Arama, doğrulama ve metin temizleme için yazılmış desenlerin çoğu JavaScript, PCRE ve .NET'te aynı çalışır; ancak bazı özellikler farklıdır ve yukarıdaki bölümde listelenmiştir.

Liste neden 10.000 eşleşmede duruyor?

Eşleşmeler sırayla toplanır. Çok uzun bir liste hem çizilmesi yavaş hem okunması zor olurdu; bu yüzden bir desen daha sık eşleşirse ilk 10.000 eşleşme gösterilir ve aramanın durduğu bildirilir.

Metnim 200.000 karakterden uzunsa neden kabul edilmiyor?

Çok uzun bir metin sayfayı yavaşlatır ve bazı desenler uzun metinde çok zaman alır. Önce desenin metnin bir parçasında denenmesi, sonra geri kalanına bakılması ya da metnin daha küçük parçalara bölünmesi daha iyidir.

Vurgulama bazı eşleşmeleri neden atlıyor?

Hiç karakter içermeyen eşleşme, örneğin x*'in harfler arasında bulduğu boş yer, vurgulanacak bir şey içermez. Yine de listede konumuyla yer alır, nerede olduğunu görebilirsiniz.

Bu araç metnimi bir sunucuya gönderiyor mu?

Hayır. Eşleştirme tarayıcınızda yapılır; sayfa yazdıklarınızı saklamaz ve bir yere göndermez. Sayfayı kapattığınızda metin de silinir.

Geçersiz desen mesajı ne anlama geliyor?

Desen JavaScript düzenli ifadesi olarak okunamıyor demektir. Mesaj motordan gelir, İngilizcedir ve sorunu gösterir; örneğin kapanmayan bir parantez gibi.

PCRE ya da .NET için yazdığım deseni burada test edebilir miyim?

Çoğu zaman evet, yalnızca yaygın özellikler kullanıyorsa. Atomik grup, possessive niceleyici, \A ya da \z ya da satır içi seçenek varsa o kısmı önce JavaScript için yeniden yazın; hangi özelliklerin farklı olduğunu tablo gösterir.

Sayfa neden desenin çok uzun sürdüğünü söylüyor?

Arama bu metinde 2 saniye içinde bitmedi, bu yüzden sayfa onu durdurdu. Genellikle (a+)+ gibi, bir tekrarın içinde bir tekrar bulunan ve neredeyse eşleşen bir metinde çalışan bir desen bunun nedenidir. Felaket boyutunda geri izleme bölümünde daha güvenli bir biçim gösterilir.

Kaynaklar

Rakamlar ve metin en son 10 Kasım 2026 Salı tarihinde kontrol edildi.

Sitenin çalışması için gerekli çerezleri kullanıyoruz. İzin verirseniz Google, size özel reklamlar göstermek için reklam çerezleri de kullanır. Reddederseniz yine reklam görürsünüz, ancak bu reklamlar kişiselleştirilmez.