İçeriğe geç

Döngüde Regex Yeniden Derleme (ARCH3073)

Anahtar typescript.performance.regex-recompiled-in-loop · Önem warning · Kategori performance

Aynı regex desenini her yinelemede yeniden oluşturmak gereksiz derleme maliyeti ekler; desen sabitse döngü dışında bir kez derlenmelidir.

function findMatches(lines: string[]): string[] {
const result: string[] = [];
for (const line of lines) {
const re = new RegExp("\\d{3}-\\d{4}");
if (re.test(line)) result.push(line);
}
return result;
}
const PHONE_RE = /\d{3}-\d{4}/;
function findMatches(lines: string[]): string[] {
const result: string[] = [];
for (const line of lines) {
if (PHONE_RE.test(line)) result.push(line);
}
return result;
}

Sabit regex desenlerini döngü dışında bir kez derleyip yeniden kullanın.