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