Оптимизация на използването на регулярни изрази в JavaScript
Регулярните изрази са много тежка и относително бавно работещо нещо. Когато има алтернативно решение, желателно е да се използва именно то.
Нека да разгледаме един пример. Да предположим, че трябва да проверим дали даден низ започва с удивителен знак. Някой програмист е решил тази задача чрез регулярен израз:
let str = '!123';
if (/^!/.test(str)) {
console.log('+++');
} else {
console.log('---');
}
Въпреки това, такава задача има много по- бързо работещо решение:
let str = '!123';
if (str[0] == '!') {
console.log('+++');
} else {
console.log('---');
}
Следният код проверява за наличието в низа на
подниз '33'.
Извършете оптимизация:
let str = '123345';
if (/33/.test(str)) {
console.log('+++');
} else {
console.log('---');
}
Следният код проверява дали
низът завършва на '.html'.
Извършете оптимизация:
let str = 'index.html';
if (/\.html$/.test(str)) {
console.log('+++');
} else {
console.log('---');
}
Следният код отрязва крайните интервали. Извършете оптимизация:
let str = ' text ';
let res = str.replace(/^\s+|\s+$/g, '');
console.log(res);