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:

javascriptlet str = '!123';

if (/^!/.test(str)) {
  console.log('+++');
} else {
  console.log('---');
}

Sin embargo, esta tarea tiene una solución mucho más rápida:

javascriptlet str = '!123';

if (str[0] == '!') {
  console.log('+++');
} else {
  console.log('---');
}
Задание 1

El siguiente código verifica la presencia en la cadena de la subcadena '33'. Realice la optimización:

javascriptlet str = '123345';

if (/33/.test(str)) {
  console.log('+++');
} else {
  console.log('---');
}
Задание 2

El siguiente código verifica si la cadena termina en '.html'. Realice la optimización:

javascriptlet str = 'index.html';

if (/\.html$/.test(str)) {
  console.log('+++');
} else {
  console.log('---');
}
Задание 3

El siguiente código elimina los espacios finales. Realice la optimización:

javascriptlet str = '  text  ';
let res = str.replace(/^\s+|\s+$/g, '');
console.log(res);