Regex tester

Regex tester ile deseni girin, bayrakları seçin ve test metnini yapıştırın: her eşleşme indeksiyle, numaralı ve adlandırılmış yakalama gruplarının içeriği ve desenin her parçasının Türkçe açıklaması görünür. Eşleştirmeyi tarayıcınızın JavaScript motoru (ECMAScript) yapar.

Baştaki ve sondaki eğik çizgi olmadan girin, örn. /\d+/ yerine \d+. Desen linkin parçasıdır ve paylaşılabilir – test metni değil.
Girdileriniz yalnızca bu tarayıcıda saklanır.

Aranacak metin. Tarayıcınızda kalır ve linke eklenmez.

Metniniz tarayıcınızda kalır – gönderilmez, kaydedilmez ve adres çubuğuna eklenmez.

Sonuç

Sonuç
2 eşleşme
Eşleşmeler
No.İndeksUzunlukEşleşme
122102026-09-27
248102026-10-15
Eşleşme başına gruplar
No.GrupAdDeğer
11jahr2026
12monat09
13tag27
21jahr2026
22monat10
23tag15
Desenin açıklaması
ÖğeAnlamı
(?<jahr>„jahr” adlı 1. grubun başı
› \d0–9 arası bir rakam
› {4}önceki öğe tam 4 kez
)grubun sonu
-„-” metninin kendisi
(?<monat>„monat” adlı 2. grubun başı
› \d0–9 arası bir rakam
› {2}önceki öğe tam 2 kez
)grubun sonu
-„-” metninin kendisi
(?<tag>„tag” adlı 3. grubun başı
› \d0–9 arası bir rakam
› {2}önceki öğe tam 2 kez
)grubun sonu
JavaScript literal olarak
/(?<jahr>\d{4})-(?<monat>\d{2})-(?<tag>\d{2})/g

Nasıl hesaplanır?

Bu regex tester, ECMA-262 standardında tanımlanan ve tarayıcınızda uygulanan JavaScript türü düzenli ifadeleri kullanır. Burada çalışan bir desen String.prototype.match, matchAll, replace ve RegExp.prototype.test içinde de aynen çalışır – Chrome, Firefox, Safari ve Node.js’te.

Sonuç nasıl okunur?

Bayraklar

g yalnızca ilkini değil tüm eşleşmeleri bulur, i büyük/küçük harfi yok sayar, m ile ^ ve $ her satırda çalışır, s noktanın satır sonlarını da eşlemesini sağlar. u, emojileri ve Temel Çok Dilli Düzlem (BMP) dışındaki diğer karakterleri tek karakter sayar ve \p{L} (ç, ğ, ş dahil herhangi bir harf) gibi Unicode özelliklerini açar. v, [\p{L}--[a-z]] gibi küme işlemleri sunan yeni u sürümüdür; u ve v birlikte kullanılamaz. y („sticky”) yalnızca aralıksız art arda gelen eşleşmeleri bulur.

Sonsuz döngü ve donmaya karşı koruma

a* veya \b gibi desenler boş eşleşmeler üretebilir. JavaScript’in kendisi gibi test aracı da bu durumda bir karakter (u/v ile bir tam kod noktası) ilerler; böylece sonsuz döngü oluşmaz. En fazla 1.000 eşleşme aranır.

Daha büyük tehlike felaket geri izlemedir (ReDoS): (a+)+$ gibi iç içe niceleyiciler, eşleşmeyen bir metinde üstel sayıda kombinasyon dener – 30 karakter motoru dakikalarca meşgul edebilir. Bu yüzden arama ayrı bir arka plan iş parçacığında çalışır ve 2 saniye sonra durdurulur; sayfa yanıt vermeye devam eder. Kendi kodunuzda da, özellikle kullanıcı girdisinde, bu tür desenlerden kaçının.

Diğer regex türlerinden farklar

PCRE (PHP), Python, Java ve .NET ayrıntılarda farklıdır: JavaScript’te sahiplenici niceleyiciler (a++), atomik gruplar ve \A ile \Z çapaları yoktur; \w yalnızca A–Z, a–z, 0–9 ve alt çizgiyi kapsar – Türkçe harfler için u bayrağıyla \p{L} kullanın.

Test metniniz gönderilmez, saklanmaz ve linke yazılmaz – linke yalnızca desen ve bayraklar girer.

Sıkça sorulan sorular

Bir düzenli ifadeyi nasıl test ederim?

Deseni eğik çizgi olmadan üstteki alana yazın, gereken bayrakları işaretleyin ve metninizi yapıştırın. Tüm eşleşmeler hemen metinde vurgulanır ve indeksleriyle listelenir; altında her grubun ne yakaladığını görürsünüz.

\w neden Türkçe harfleri eşlemiyor?

JavaScript’te \w yalnızca A–Z, a–z, 0–9 ve _ anlamına gelir. Her dildeki harfler için u bayrağıyla \p{L} kullanın, örn. „çiçekçi” gibi bir kelime için [\p{L}\d_]+.

Açgözlü ve tembel niceleyici arasındaki fark nedir?

Açgözlü niceleyiciler (*, +, {2,}) olabildiğince çok metin alır, sonuna soru işareti eklenmiş tembel olanlar (*?, +?) olabildiğince az. „<b>x</b>” üzerinde <.+> tüm metni, <.+?> ise yalnızca „<b>” kısmını eşler.

Bir yakalama grubuna nasıl ad verilir?

(?<ad>…) kullanın. Kodda match.groups.ad ile, değiştirme metninde $<ad> ile, desenin içinde ise \k<ad> geri başvurusuyla okursunuz.

Aramam neden durduruldu?

2 saniyeden uzun sürdü – genellikle (\w+)* gibi iç içe niceleyicilerdeki felaket geri izleme yüzünden. Deseni sadeleştirin: niceleyicileri iç içe koymayın, alternatifleri net yapın ve ^ ile $ çapalarını ekleyin.

Sonuç PHP veya Python için de geçerli mi?

Basit desenlerde genellikle evet, ancak garanti yalnızca JavaScript içindir. PHP (PCRE) ve Python, sahiplenici niceleyiciler veya \A gibi ek sözdizimini destekler; Python adlandırılmış grupları geleneksel olarak (?P<ad>…) şeklinde yazar.

Kaynaklar ve yasal dayanak

Güncelleme:

Benzer araçlar