TanodTools
TR

Regex test aracı

Düzenli ifadeyi örnek metinde deneyin; her eşleşmeyi, yakalama gruplarını ve değiştirmenin sonucunu görün.

Tamamen tarayıcınızda çalışır

Bayraklar

Metindeki eşleşmeler

  
#KonumEşleşmeGruplar

Tarayıcınızın desteklediği biçimde JavaScript (ECMAScript) regex sözdizimi. 5 MB'a kadar metin; ilk 1.000 eşleşme listelenir ve vurgulanır. 2 saniyeden uzun süren bir desen durdurulur.

Düzenli ifade nasıl test edilir

  1. Deseni eğik çizgilerin arasına yazın ve ihtiyacınız olan bayrakları işaretleyin; örneğin tüm eşleşmeler için g, büyük/küçük harfi yok saymak için i.
  2. Test metnini yapıştırın. Eşleşmeler siz yazdıkça vurgulanır ve tablo her eşleşmeyi konumu ve yakalama gruplarıyla listeler.
  3. Bir değiştirmeyi denetlemek için $2-$1 ya da $<year> gibi bir değiştirme yazın ve sonucu altında okuyun.

Desenleri güvenle test etmek

Test aracı, deseninizden ve bayraklarınızdan bir JavaScript RegExp oluşturur ve onu bir arka plan çalışanında çalıştırır; bu, kodunuzun bu tarayıcıda kullanacağı motorun aynısıdır. Eşleşmeler başlangıç konumları ve her yakalama grubuyla döner; sayfa bunları metninizin üzerine dönüşümlü vurgularla çizer, böylece komşu eşleşmeler ayırt edilebilir kalır. \b veya a* gibi ifadelerin üretebildiği boş bir eşleşme ince bir çubuk olarak görünür.

Deseni bir çalışanda çalıştırmak önemlidir, çünkü bir düzenli ifade üstel süre alabilir. Bir desen 2 saniye sonra hâlâ çalışıyorsa çalışan durdurulur ve donmuş bir sekme yerine bir ileti görürsünüz. Aynı güvenlik önlemi Bul ve değiştir aracını da korur.

Konumlar, JavaScript dizelerinin saydığı gibi UTF-16 kod birimi olarak sayılır: bir emoji ya da temel düzlemin dışındaki başka bir karakter iki birim yer kaplar. Liste ilk 1.000 eşleşmeyi gösterir; üstündeki toplam sayı ise her eşleşmeyi içerir.

İpuçları

Sık sorulan sorular

Bu hangi regex türünü kullanır?

JavaScript olanını, kendi tarayıcınızın motoruyla çalıştırır; bu nedenle sonuçlar tarayıcınızdaki ya da Node.js'teki RegExp'in verdiğiyle birebir aynıdır. Günlük sözdiziminin çoğu PCRE, Python ve Java ile ortaktır, ancak bazı özellikler farklıdır: sahiplenici niceleyiciler ve atomik gruplar desteklenmez; lookbehind, adlandırılmış gruplar ve v bayrağı güncel bir tarayıcı gerektirir.

Neden yalnızca bir eşleşme gösteriliyor?

g (global) bayrağı olmadan bir JavaScript regex'i yalnızca ilk eşleşmeyi bulur ve değiştirme yalnızca ilk örneği değiştirir. Hepsini bulmak için g'yi işaretleyin. Test aracı dili birebir izler; böylece gördüğünüz, kodunuzun yapacağı şeydir.

Bayraklar ne yapar?

g tüm eşleşmeleri bulur, i büyük/küçük harfi yok sayar, m ^ ve $ işaretlerinin satır sonlarında eşleşmesini sağlar, s . işaretinin satır sonlarıyla eşleşmesine izin verir, u tam Unicode işlemeyi açar, v küme işlemli daha yeni Unicode modudur, y (sticky) yalnızca geçerli konumda eşleşir ve d her grubun başlangıcını kaydeder; test aracı grup konumları için zaten bunu kullanır.

Değiştirmede grupları nasıl kullanırım?

$1, $2 ve benzerleri numaralı grupları ekler, $<name> adlandırılmış bir grubu ekler, $& tüm eşleşmeyi ekler, $` ve $' ondan önceki ve sonraki metni ekler, $$ ise düz bir dolar işareti yazar.

Desenim neden “çok uzun sürdü” diyerek durdu?

Beklediği şekilde bitmeyen uzun bir a dizisi üzerinde ^(a+)+$ gibi bazı desenler, motorun çok büyük sayıda eşleşme yolu denemesine neden olur. Buna yıkıcı geri izleme denir. Test aracı her deseni bir arka plan çalışanında çalıştırır ve sayfa kullanılabilir kalsın diye 2 saniye sonra durdurur. (a+)+ gibi iç içe tekrarları a+ olarak yeniden yazın.

Metnim bir yere gönderiliyor mu?

Hayır. Desen ve metin tarayıcınızda kalır; eşleştirme cihazınızda yapılır ve hiçbir şey yüklenmez veya saklanmaz.