Optimización del uso de expresiones regulares en JavaScript
Las expresiones regulares son algo muy pesado y relativamente lento. Cuando existe una solución alternativa, es recomendable usarla.
Veamos un ejemplo. Supongamos que necesitamos verificar si una cadena comienza con un signo de exclamación. Un programador decidió resolver esta tarea mediante una expresión regular:
let str = '!123';
if (/^!/.test(str)) {
console.log('+++');
} else {
console.log('---');
}
Sin embargo, esta tarea tiene una solución mucho más rápida:
let str = '!123';
if (str[0] == '!') {
console.log('+++');
} else {
console.log('---');
}
El siguiente código verifica la presencia en la cadena
de la subcadena '33'.
Realice la optimización:
let str = '123345';
if (/33/.test(str)) {
console.log('+++');
} else {
console.log('---');
}
El siguiente código verifica si la cadena
termina en '.html'.
Realice la optimización:
let str = 'index.html';
if (/\.html$/.test(str)) {
console.log('+++');
} else {
console.log('---');
}
El siguiente código elimina los espacios finales. Realice la optimización:
let str = ' text ';
let res = str.replace(/^\s+|\s+$/g, '');
console.log(res);