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:

javascriptlet str = '!123';

if (/^!/.test(str)) {
  console.log('+++');
} else {
  console.log('---');
}

Međutim, ovaj zadatak ima daleko brže rešenje:

javascriptlet str = '!123';

if (str[0] == '!') {
  console.log('+++');
} else {
  console.log('---');
}
Задание 1

Sledeći kod proverava prisustvo u stringu podstringa '33'. Izvršite optimizaciju:

javascriptlet str = '123345';

if (/33/.test(str)) {
  console.log('+++');
} else {
  console.log('---');
}
Задание 2

Sledeći kod proverava da li se string završava sa '.html'. Izvršite optimizaciju:

javascriptlet str = 'index.html';

if (/\.html$/.test(str)) {
  console.log('+++');
} else {
  console.log('---');
}
Задание 3

Sledeći kod odseca krajnje razmake. Izvršite optimizaciju:

javascriptlet str = '  text  ';
let res = str.replace(/^\s+|\s+$/g, '');
console.log(res);