Regulaaravaldiste kasutamise optimeerimine JavaScriptis

Regulaaravaldised on väga ressursimahukad ja suhteliselt aeglase töökiirusega asjad. Kui on olemas alternatiivne lahendus, on soovitav kasutada seda.

Vaatame näidet. Oletame, et peame kontrollima, kas mingi string algab hüüumärgiga. Mingi programmeerija lahendas selle ülesande regulaaravaldise abil:

javascriptlet str = '!123';

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

Kuid sellisel ülesandel on palju kiirem lahendus:

javascriptlet str = '!123';

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

Järgnev kood kontrollib stringis alamsõne '33' olemasolu. Tehke optimeerimine:

javascriptlet str = '123345';

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

Järgnev kood kontrollib, kas string lõpeb '.html'-ga. Tehke optimeerimine:

javascriptlet str = 'index.html';

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

Järgnev kood eemaldab lõpust tühikud. Tehke optimeerimine:

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