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:
javascriptlet str = '!123';
if (/^!/.test(str)) {
console.log('+++');
} else {
console.log('---');
}
Avšak, takáto úloha má oveľa rýchlejšie riešenie:
javascriptlet str = '!123';
if (str[0] == '!') {
console.log('+++');
} else {
console.log('---');
}
Задание 1
Nasledujúci kód kontroluje prítomnosť podreťazca
'33' v reťazci.
Vykonajte optimalizáciu:
javascriptlet str = '123345';
if (/33/.test(str)) {
console.log('+++');
} else {
console.log('---');
}
Задание 2
Nasledujúci kód kontroluje, či reťazec
končí na '.html'.
Vykonajte optimalizáciu:
javascriptlet str = 'index.html';
if (/\.html$/.test(str)) {
console.log('+++');
} else {
console.log('---');
}
Задание 3
Nasledujúci kód odstraňuje koncové medzery. Vykonajte optimalizáciu:
javascriptlet str = ' text ';
let res = str.replace(/^\s+|\s+$/g, '');
console.log(res);