Оптимизација на употребата на регуларни изрази во 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);