Reguliariųjų išraiškų naudojimo optimizavimas JavaScript
Reguliariosios išraiškos yra labai sunkus ir palyginti lėtai veikiantis dalykas. Kai yra alternatyvus sprendimas, pageidautina naudoti būtent jį.
Pažiūrėkime pavyzdžiu. Tarkime, mums reikia patikrinti, ar tam tikra eilutė prasideda šauktuku. Kažkoks programuotojas šią užduotį išsprendė naudodamas reguliariąją išraišką:
javascriptlet str = '!123';
if (/^!/.test(str)) {
console.log('+++');
} else {
console.log('---');
}
Tačiau, tokiai užduočiai yra daug greičiau veikiantis sprendimas:
javascriptlet str = '!123';
if (str[0] == '!') {
console.log('+++');
} else {
console.log('---');
}
Задание 1
Tolimesnis kodas tikrina, ar eilutėje yra
poeilutė '33'.
Atlikite optimizavimą:
javascriptlet str = '123345';
if (/33/.test(str)) {
console.log('+++');
} else {
console.log('---');
}
Задание 2
Tolimesnis kodas tikrina, ar eilutė baigiasi
'.html'.
Atlikite optimizavimą:
javascriptlet str = 'index.html';
if (/\.html$/.test(str)) {
console.log('+++');
} else {
console.log('---');
}
Задание 3
Tolimesnis kodas pašalina galinius tarpus. Atlikite optimizavimą:
javascriptlet str = ' text ';
let res = str.replace(/^\s+|\s+$/g, '');
console.log(res);