Bir düzenli ifadeyi nasıl test ederim?

Bir desen ve biraz örnek metin girin; araç her eşleşmeyi vurgular, yakalama gruplarını listeler ve global, çok satırlı, büyük-küçük harf duyarsız gibi bayrakları açıp kapatmanıza izin verir. Eşleştirme tarayıcınızda JavaScript'in kendi düzenli ifade motoruyla çalışır, bu yüzden sonuçlar kodunuzun göreceğiyle birebir aynıdır.

Tamamen tarayıcınızda çalışır · yükleme yok · hesap yok · filigran yok

  1. Bir desen yazın ve istediğiniz bayrakları işaretleyin.
  2. Eşleştirmek için biraz örnek metin yapıştırın.
  3. Vurguları, ardından aşağıdaki eşleşme listesini okuyun.
Bayraklar

Vurgular

Eşleşmeler

    Bu sayfa neler yapabilir

    Bu aracı ne zaman kullanmalısınız

    • Bir JavaScript düzenli ifadesini örnek bir dize üzerinde denemek.
    • Hangi yakalama gruplarının ve bayrakların hangi eşleşmeleri ürettiğini görmek.
    • Bir deseni ön uç koduna koymadan önce aklı başında bir kontrol yapmak.

    Ne zaman başka bir yol seçmelisiniz

    • Desen Python, PCRE, .NET ya da Java hedefliyor — sözdizimi ve geri izleme davranışı JavaScript'in RegExp'inden farklıdır.
    • Girdi güvenilmez ve desen felaket düzeyinde geri izleme yapabilir; test ana iş parçacığında çalışır ve sekmeyi dondurabilir.
    • Adım adım açıklama, kıyaslama ya da zaman aşımı gerekiyor.

    Diğer seçeneklerle karşılaştırma

    regex101 ve benzeri araçlar motor değiştirmenize, her belirteci açıklamanıza ve zaman aşımı koymanıza izin verir. Bu sayfa tarayıcının kendi RegExp'ini bu korumaların hiçbiri olmadan çalıştırır, bu yüzden JavaScript'e sadıktır ama onun sınırlarını paylaşır: atomik grup yok, sahiplenici niceleyici yok ve patolojik bir desene karşı koruma yok. Kasıtlı olarak kötü bir ifade, siz kapatana kadar sekmeyi askıda bırakabilir.

    Dosyalarınız nereye gidiyor

    Hiçbir yere. Bu sayfa işi yapan kodu yükler ve ondan sonra açtığınız dosyayı kendi tarayıcınız okur. Yükleme adımı yok, sunucuda geçici kopya yok, güvenmeniz gereken bir temizlik yok — veriler ağı hiç geçmez, dolayısıyla sonradan silinecek bir şey kalmaz. Kendiniz doğrulayabilirsiniz: araç çalışırken tarayıcınızın ağ panelini açın ve sessiz kaldığını görün.

    Bu araçla ilgili sorular

    Desenimi kullanınca sayfa yanıt vermeyi kesti. Neden?
    Bu, felaket düzeyinde geri izlemedir: (a+)+b gibi bir desen, uzun bir “a” dizisine karşı motoru başarısız olmanın üstel sayıda yolunu denemeye zorlar. Bu sayfa sonsuza kadar sarmasın diye eşleşme sayısını sınırlar, ama inatçı tek bir eşleşme yine de bir an sürebilir. İç içe niceleyicileri motorun tek bir yolu olacak şekilde yeniden yazın — örneğin a+b — ya da deseni ^ veya $ ile sabitleyin.
    Hangi bayrakları açabilirim?
    g ilk yerine her eşleşmeyi bulur, i büyük-küçük harfi yok sayar, m ^ ve $ işaretlerini satır sonlarında eşleştirir, s . işaretinin yeni satırlarla da eşleşmesini sağlar ve u tam Unicode modunu açar; bu, \p{...} özellik kaçışları ve temel düzlem dışındaki karakterlerin doğru işlenmesi için gereklidir. Sonuçlar tam olarak JavaScript'in kendi motorunun verdiğidir, bu yüzden kodunuzla eşleşir.
    Listede neden yalnızca birkaç bin eşleşme var?
    Liste sınırlıdır, böylece her karakterde eşleşen bir desen — örneğin uzun bir belgede global bayraklı . — binlerce satır oluştururken sekmeyi kilitleyemez. Sınır gerçekçi test dizeleri için yeterince yüksektir; ona ulaşırsanız deseni daraltın ya da örneği kısaltın.

    Aynı gruptaki diğer araçlar