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:
let str = '!123';
if (/^!/.test(str)) {
console.log('+++');
} else {
console.log('---');
}
Vendar ima takšna naloga veliko hitrejšo rešitev:
let str = '!123';
if (str[0] == '!') {
console.log('+++');
} else {
console.log('---');
}
Naslednja koda preverja prisotnost podniza
'33' v nizu.
Izvedite optimizacijo:
let str = '123345';
if (/33/.test(str)) {
console.log('+++');
} else {
console.log('---');
}
Naslednja koda preverja, ali se niz
konča z '.html'.
Izvedite optimizacijo:
let str = 'index.html';
if (/\.html$/.test(str)) {
console.log('+++');
} else {
console.log('---');
}
Naslednja koda odstrani končne presledke. Izvedite optimizacijo:
let str = ' text ';
let res = str.replace(/^\s+|\s+$/g, '');
console.log(res);