Regex testinde eşleşmemesi gereken örnekleri de kullanın
Bir eşleşme bulmak başlangıçtır; desenin amacınızı karşıladığını kanıtlamaz. İyi testler doğruya benzeyen ancak reddedilmesi gereken metinleri de içerir.
Önce kuralı günlük dille yazın
Paragraf içinde kod mu arıyorsunuz, tüm satırı mı doğruluyorsunuz? Geçersiz girdide geçerli görünen parça bulmak, asıl koşulu karşılamadan başarılı görünebilir.
Karakter, uzunluk ve sınırları gösteren küçük örnekler kullanın. Uzun girdiler nedenleri gizler; desen, yazmadığınız iş kurallarını uygulayamaz.
Bayraklar ve yazı sistemleri sonucu etkiler
g birden fazla eşleşme ister; i harf büyüklüğü davranışını değiştirir. JavaScript \w sınıfı tüm dillerdeki kelimeleri tanımlamaz; daha geniş harf eşleşmesi için u ile Unicode özellikleri gerekebilir.
ToolRoof JavaScript sözdizimini ve g, i, m, s, u bayraklarını dener. Konumlar UTF-16 birimleridir, her zaman görünen simge sayısı değildir. Başka motorda aynı davranışı varsaymayın.
Kaynaklar: MDN — JavaScript regular expressions, flags and Unicode
Örneklerin geçmesi güvenlik belgesi değildir
Eşleşmeyen bir durumla amaçlanan en kısa ve en uzun sınırları deneyin. Kullanım çok satırlı olacaksa bunu da test edin.
İşleme sınırlıdır ve en çok 200 eşleşme gösterilir; sınıra ulaşmak başka eşleşme olmadığını kanıtlamaz. Her girdide hız/güvenlik garantisi vermez; değiştirme kodu veya girilen metni çalıştırmaz.
Örnek: 2 kabul ve 2 yakın fakat yanlış kod
ID-17 ID-204 ID-7 XID-99 metninde \bID-\d{2,3}\b deseni g ile ID-17 ve ID-204 bulur. ID-7 kısadır; kelime sınırı XID-99 içinde başlamayı engeller.
g olmadan yalnızca ilk eşleşme döner. Kural örnek kodları tanımlar; gerçek kimliklerin varlığını, erişim yetkisini veya başka sistem koşullarını doğrulamaz.