Optimalizácia použitia regulárnych výrazov v JavaScripte
Regulárne výrazy sú veľmi ťažká a pomerne pomalá vec. Keď existuje alternatívne riešenie, je žiaduce použiť práve to.
Pozrime sa na príklad. Predpokladajme, že potrebujeme skontrolovať, či nejaký reťazec začína na výkričník. Nejaký programátor vyriešil túto úlohu pomocou regulárneho výrazu:
let str = '!123';
if (/^!/.test(str)) {
console.log('+++');
} else {
console.log('---');
}
Avšak, takáto úloha má oveľa rýchlejšie riešenie:
let str = '!123';
if (str[0] == '!') {
console.log('+++');
} else {
console.log('---');
}
Nasledujúci kód kontroluje prítomnosť podreťazca
'33' v reťazci.
Vykonajte optimalizáciu:
let str = '123345';
if (/33/.test(str)) {
console.log('+++');
} else {
console.log('---');
}
Nasledujúci kód kontroluje, či reťazec
končí na '.html'.
Vykonajte optimalizáciu:
let str = 'index.html';
if (/\.html$/.test(str)) {
console.log('+++');
} else {
console.log('---');
}
Nasledujúci kód odstraňuje koncové medzery. Vykonajte optimalizáciu:
let str = ' text ';
let res = str.replace(/^\s+|\s+$/g, '');
console.log(res);