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ą:
let str = '!123';
if (/^!/.test(str)) {
console.log('+++');
} else {
console.log('---');
}
Tačiau, tokiai užduočiai yra daug greičiau veikiantis sprendimas:
let str = '!123';
if (str[0] == '!') {
console.log('+++');
} else {
console.log('---');
}
Tolimesnis kodas tikrina, ar eilutėje yra
poeilutė '33'.
Atlikite optimizavimą:
let str = '123345';
if (/33/.test(str)) {
console.log('+++');
} else {
console.log('---');
}
Tolimesnis kodas tikrina, ar eilutė baigiasi
'.html'.
Atlikite optimizavimą:
let str = 'index.html';
if (/\.html$/.test(str)) {
console.log('+++');
} else {
console.log('---');
}
Tolimesnis kodas pašalina galinius tarpus. Atlikite optimizavimą:
let str = ' text ';
let res = str.replace(/^\s+|\s+$/g, '');
console.log(res);