Regulāro izteiksmju optimizēšana JavaScript
Regulārās izteiksmes ir ļoti smags un salīdzinoši lēni strādājošs rīks. Kad ir alternatīvs risinājums, vēlams izmantot tieši to.
Apskatīsim piemēru. Pieņemsim, ka mums ir jāpārbauda, vai kāda virkne sākas ar izsaukuma zīmi. Kāds programmētājs atrisināja šo uzdevumu, izmantojot regulāro izteiksmi:
javascriptlet str = '!123';
if (/^!/.test(str)) {
console.log('+++');
} else {
console.log('---');
}
Tomēr šim uzdevumam ir daudz ātrāk strādājošs risinājums:
javascriptlet str = '!123';
if (str[0] == '!') {
console.log('+++');
} else {
console.log('---');
}
Задание 1
Šāds kods pārbauda, vai virknē ir
apakšvirkne '33'.
Veiciet optimizāciju:
javascriptlet str = '123345';
if (/33/.test(str)) {
console.log('+++');
} else {
console.log('---');
}
Задание 2
Šāds kods pārbauda, vai virkne
beidzas ar '.html'.
Veiciet optimizāciju:
javascriptlet str = 'index.html';
if (/\.html$/.test(str)) {
console.log('+++');
} else {
console.log('---');
}
Задание 3
Šāds kods apgriež galējos atstarpes. Veiciet optimizāciju:
javascriptlet str = ' text ';
let res = str.replace(/^\s+|\s+$/g, '');
console.log(res);