JavaScript-ում ռեգուլյար արտահայտությունների օգտագործման օպտիմիզացիա

Ռեգուլյար արտահայտությունները շատ ծանր և համեմատաբար դանդաղ աշխատող բան են: Երբ այլընտրանքային լուծում կա, ցանկալի է օգտագործել հենց այն:

Դիտարկենք մի օրինակ: Ենթադրենք, մեզ անհրաժեշտ է ստուգել, արդյոք որոշակի տողը սկսվում է բացականչական նշանով: Ինչ-որ ծրագրավորող այս խնդիրը լուծել է ռեգուլյար արտահայտության միջոցով.

javascriptlet str = '!123';

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

Սակայն, նման խնդիրը ունի շատ ավելի արագ աշխատող լուծում.

javascriptlet str = '!123';

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

Հաջորդ կոդը ստուգում է տողում '33' ենթատողի առկայությունը: Կատարեք օպտիմիզացիա.

javascriptlet str = '123345';

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

Հաջորդ կոդը ստուգում է, արդյոք տողը վերջանում է '.html'-ով: Կատարեք օպտիմիզացիա.

javascriptlet str = 'index.html';

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

Հաջորդ կոդը կտրում է վերջնական բացատները: Կատարեք օպտիմիզացիա.

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