Regex'in Bedeli: ReDoS, Catastrophic Backtracking, Okunabilirlik ve Regex'i Test Etmek
İç içe quantifier, çakışan alternation ya da art arda .* içeren bir pattern, neredeyse eşleşen bir input'ta üstel ya da polinom sayıda deneme yapar; ölçümümüzde ^(a+)+$ 28 harfte .NET'te 10 saniye sürdü, NonBacktracking 0,07 ms. Tehlikeli yapıları PCRE2 adım sayılarıyla tanıyor, Cloudflare'in 2019 kesintisini, Angular validator'ı ve sunucu doğrulamasını, (?x) ile okunur pattern'i, xUnit [Theory] ile test tablosunu ve e-posta için MailAddress kararını gösteriyoruz.
15 Kas 2026
·
15 dk
·
5