Optimizacija uporabe regularnih izrazov v JavaScript
Regularni izrazi so zelo zahtevna in razmeroma počasno delujoča stvar. Ko obstaja alternativna rešitev, je zaželeno uporabljati prav to.
Poglejmo si primer. Recimo, da moramo preveriti, ali se določen niz začne z klicajem. Neki programer je to nalogo rešil z regularnim izrazom:
javascriptlet str = '!123';
if (/^!/.test(str)) {
console.log('+++');
} else {
console.log('---');
}
Vendar ima takšna naloga veliko hitrejšo rešitev:
javascriptlet str = '!123';
if (str[0] == '!') {
console.log('+++');
} else {
console.log('---');
}
Задание 1
Naslednja koda preverja prisotnost podniza
'33' v nizu.
Izvedite optimizacijo:
javascriptlet str = '123345';
if (/33/.test(str)) {
console.log('+++');
} else {
console.log('---');
}
Задание 2
Naslednja koda preverja, ali se niz
konča z '.html'.
Izvedite optimizacijo:
javascriptlet str = 'index.html';
if (/\.html$/.test(str)) {
console.log('+++');
} else {
console.log('---');
}
Задание 3
Naslednja koda odstrani končne presledke. Izvedite optimizacijo:
javascriptlet str = ' text ';
let res = str.replace(/^\s+|\s+$/g, '');
console.log(res);