Optimizacija upotrebe regularnih izraza u JavaScript-u
Regularni izrazi su veoma teški i relativno sporo rade. Kada postoji alternativno rešenje, poželjno je koristiti baš to.
Pogledajmo na primeru. Neka treba da proverimo da li neki string počinje uzvičnikom. Jedan programer je rešio ovaj zadatak preko regularnog izraza:
let str = '!123';
if (/^!/.test(str)) {
console.log('+++');
} else {
console.log('---');
}
Međutim, ovaj zadatak ima daleko brže rešenje:
let str = '!123';
if (str[0] == '!') {
console.log('+++');
} else {
console.log('---');
}
Sledeći kod proverava prisustvo u stringu
podstringa '33'.
Izvršite optimizaciju:
let str = '123345';
if (/33/.test(str)) {
console.log('+++');
} else {
console.log('---');
}
Sledeći kod proverava da li se
string završava sa '.html'.
Izvršite optimizaciju:
let str = 'index.html';
if (/\.html$/.test(str)) {
console.log('+++');
} else {
console.log('---');
}
Sledeći kod odseca krajnje razmake. Izvršite optimizaciju:
let str = ' text ';
let res = str.replace(/^\s+|\s+$/g, '');
console.log(res);