tigtools

Regex Test Aracı

Tüm eşleşmeleri konumları ve yakalama gruplarıyla vurgulanmış olarak görmek için bir desen ve metin girin. Tarayıcınızın JavaScript regex motorunu kullanır.

Tarayıcınızda çalışır Kayıt gerekmez

Bayraklar

Numaralı gruplar için $1, $2 …; adlandırılmış gruplar için $<name>; eşleşmenin tamamı için $&; dolar işareti için $$ kullanın.

Nasıl kullanılır?

  1. Düzenli ifadeyi, çevresine eğik çizgi koymadan Pattern alanına yazın.
  2. İhtiyacınız olan bayrakları işaretleyin. g (global), yalnızca ilk eşleşme yerine tüm eşleşmeleri bulur.
  3. Aranacak metni yapıştırın. Eşleşmeler vurgulanır; her biri dizini ve yakalama gruplarıyla birlikte listelenir.
  4. İsteğe bağlı olarak $2-$1 gibi bir değiştirme ifadesi girerek String.replace sonucunun önizlemesini görebilirsiniz.

Nasıl çalışır?

Bu araç, deseninizi tarayıcının yerleşik RegExp nesnesiyle çalıştırır. Bu nedenle sonuçlar, o tarayıcıdaki JavaScript (ECMAScript) kodunun üreteceği sonuçlarla aynıdır. Diğer diller farklı regex türleri kullanır: PCRE (PHP), Python'un re modülü, Java ve .NET; sahipli niceleyiciler (a++), atomik gruplar ((?>…)), (?i) gibi satır içi değiştiriciler ve özyineleme gibi JavaScript'te bulunmayan özellikleri destekler. Ayrıca \A ve \Z sabitleyicileri gibi ayrıntılarda farklılık gösterirler. Desene başka bir dilde güvenmeden önce o dilde test edin. Lookbehind ((?<=…)), adlandırılmış gruplar ((?<name>…)) ve Unicode özellik kaçışları (u bayrağıyla \p{L}) tüm güncel tarayıcılarda çalışır.

g veya y bayrağı olmadan RegExp.exec'te olduğu gibi yalnızca ilk eşleşme bulunur. Örneğin ^ veya \b ile bulunan sıfır uzunluklu eşleşmeler listelenir ancak vurgulanmaz; her eşleşmeden sonra arama bir karakter (u bayrağıyla bir kod noktası) ilerler; String.matchAll da böyle çalışır. Yakalama grupları numaralarına ve tanımlanmışsa adlarına göre gösterilir. Eşleşmeye katılmayan bir grup değeri yok olarak işaretlenir; bu, boş bir eşleşmeden farklıdır.

Uzun bir satırda eşleşme bulamayan (a+)+$ gibi bazı desenlerin başarısız olması üstel zaman alabilir (felaket düzeyinde geri izleme). Riski azaltmak için eşleştirme, yazmayı bıraktıktan kısa süre sonra başlar; metnin yalnızca ilk 100.000 karakteri aranır ve en fazla 1.000 eşleşme toplanır. Sorunlu bir desen yine de sekmenin bir süre yanıt vermemesine neden olabilir. Böyle bir durumda deseni sadeleştirin veya metni kısaltın.

Örnekler

Tarihleri ayıklama

g bayrağı açıkken (\d{4})-(\d{2})-(\d{2}) deseni, “Due 2026-03-15, paid 2026-04-02” metninde iki eşleşme bulur. 1. grup yılı yakalar; $3.$2.$1 değiştirme ifadesi metni “Due 15.03.2026, paid 02.04.2026” hâline getirir.

Okunabilir kod için adlandırılmış gruplar

Sorgu dizesi a=1&b=two üzerinde (?<key>\w+)=(?<value>[^&]*) deseni, her çift için key ve value değerlerini listeler. Bu, JavaScript'te match.groups.key ve match.groups.value ifadelerinin döndürdüğü değerlerle aynıdır.

Satırlarda büyük/küçük harfe duyarsız arama

g, i ve m bayraklarıyla ^error:.* deseni, Error:, ERROR: veya error: ile başlayan günlük satırlarının tümünü bulur; çünkü m, ^ işaretinin her satırın başında eşleşmesini sağlar.

Sık sorulan sorular

Regex'im Python, PHP veya Java'da da aynı şekilde çalışır mı?

Her zaman değil. Bu araç JavaScript motorunu kullanır. Temel söz dizimi ortaktır ancak sahipli niceleyiciler, atomik gruplar, (?i) gibi satır içi bayraklar ve bazı kaçış dizileri yalnızca diğer regex türlerinde bulunur; bazı özellikler de farklı davranır. Her zaman hedef dilde test edin.

Neden yalnızca bir eşleşme bulundu?

g (global) bayrağı kapalı. Bu bayrak olmadan JavaScript yalnızca ilk eşleşmeyi döndürür. Tüm eşleşmeleri bulmak için g'yi işaretleyin.

Desenin başına ve sonuna eğik çizgi koymalı mıyım?

Hayır. Yalnızca deseni girin; örneğin /\d+/g yerine \d+ yazın ve bayrakları onay kutularından seçin. Kodunuza kopyalayabilmeniz için JavaScript değişmez değer biçimi sonuçların altında gösterilir.

Desenim yüzünden sayfa neden yavaşladı?

(a+)+ veya (.*)* gibi iç içe niceleyiciler, eşleşme olmadığında motorun üstel sayıda olasılığı denemesine neden olabilir. Örneğin .* yerine [^,]* kullanarak deseni daha belirgin hâle getirin veya sabitleyiciler kullanın. Etkiyi azaltmak için test edilen metin 100.000 karakterle sınırlandırılır.

Gizlilik

Deseniniz ve metniniz yalnızca tarayıcınızda, tarayıcının JavaScript motoruyla işlenir. Hiçbir şey yüklenmez, saklanmaz veya analiz verilerine eklenmez.