Normal ifade Testçi
Normal ifadeleri tarayıcınızda anında test edin ve hatalarını ayıklayın. Eşleşmeleri vurgulayın, yakalama gruplarını görüntüleyin ve değiştirme modunu kullanın - ücretsiz ve özel.
Normal ifadeleri tarayıcınızda anında test edin ve hatalarını ayıklayın. Eşleşmeleri vurgulayın, yakalama gruplarını görüntüleyin ve değiştirme modunu kullanın - ücretsiz ve özel.
Düzenli ifadeler, metindeki kalıpları eşleştirmek için alana özgü bir dildir. 1968'den bu yana bilişimin bir parçası olmuşlardır ve artık her modern programlama dilinde, metin düzenleyicide ve komut satırı arama aracında yerleşik olarak bulunmaktadırlar. Sözdizimi kısa ve özdür ancak hataya açıktır: küçük değişiklikler çok farklı eşleşme davranışlarına neden olur ve karmaşık ifadeler hızla okunamaz hale gelir. Siz modeli düzenlerken eşleşmeleri gerçek zamanlı olarak gösteren bir test cihazı, normal ifadeyi geliştirmenin ve doğrulamanın en etkili yoludur.
Bu test cihazı, tarayıcınızda JavaScript regex motorunu (uygulamanızın bir tarayıcıda çalışıyorsa kullandığı motorun aynısını) kullanarak çalışır. Desenler ve test metni tepkisel olarak güncellenir: Her ikisinde de yapılan her değişiklik, eşleşmeyi yeniden çalıştırır. Eşleşme grupları vurgulanır, yakalanan gruplar listelenir ve işaretler (büyük/küçük harfe duyarlı olmayan, çok satırlı, genel) test için kullanıma sunulur.
Regex sözdizimi motorlar arasında büyük farklılıklar gösterir. JavaScript, ECMAScript spesifikasyonunu takip eder; Python, PCRE (PHP ve diğerleri tarafından kullanılır), Java ve Go'nun her birinin örtüşen ancak aynı olmayan özelliklere sahip kendi lehçeleri vardır. Burada geliştirilen desenler ECMAScript sözdizimini kullanır; Motorlar arası taşınabilirlik, her hedefin belgelerinin kontrol edilmesini gerektirir.
Regex hatalarının dağıtımdan sonra hata ayıklaması oldukça zordur. Makul görünen bir model, amaçlanandan daha fazla veya daha az eşleşebilir, uç durumlarda başarısız olabilir veya belirli girdilerde felaketle sonuçlanabilecek bir geri izlemeye neden olabilir. Desenleri temsili girdilere göre etkileşimli olarak test etmek, sorunları kod incelemesi ve üretiminden önce yakalar.
Desenler ayrıca dokümantasyondan da yararlanır. Eşleşmesi gereken girdinin ve eşleşmemesi gereken girdinin yanında bir normal ifadenin gösterilmesi, amacı açıkça ortaya koyar. Gelecekteki bakımcılar (altı ay sonra siz de dahil olmak üzere), belgelenmiş test senaryolarını akıllı tek satırlık yazılardan daha çok takdir edeceklerdir.
Bir model yazın, test girişi yazın, canlı olarak vurgulanan maçları görün.
JavaScript regex'i ECMAScript spesifikasyonunu takip eder. Başlıca özellikler: karakter sınıfları ([abc], [^abc]), niceleyiciler (*, +, ?, {n,m}), değişim (|), gruplama ((...)), yakalayan ve yakalamayan gruplar, ileriye dönük ve geriye dönük (modern motorlar), geri referanslar, adlandırılmış gruplar, Unicode özellik kaçışları (u bayrağıyla) ve standart kaçış dizileri kümesi.
PCRE ve Python'dan önemli farklar: Geriye dönük destek JavaScript'te (2018+) yenidir; adlandırılmış gruplar (?<name>...) sözdizimini kullanır; bazı Unicode kaçışları u bayrağının doğru çalışmasını gerektirir. Diller arası kullanıma yönelik modeller, her hedefin belgelerine göre kontrol edilmelidir.
Performans: Geri izlemeye dayalı normal ifade motorları (çoğu JavaScript dahil) belirli patolojik kalıplarda felaketle sonuçlanabilecek geri izlemeye sahip olabilir. Test cihazını asan testler, modelin basitleştirilmesi gerektiğinin bir işaretidir; genellikle iç içe geçmiş nicelik belirteçlerinden ve belirsiz değişimden kaçınılarak.