Otimização do Uso de Expressões Regulares em JavaScript

Expressões regulares são uma coisa muito pesada e relativamente lenta. Quando existe uma solução alternativa, é desejável usá-la.

Vamos ver um exemplo. Suponha que precisamos verificar se uma string específica começa com um ponto de exclamação. Um certo programador resolveu esta tarefa usando regex:

javascriptlet str = '!123';

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

No entanto, essa tarefa tem uma solução muito mais rápida:

javascriptlet str = '!123';

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

O código a seguir verifica a presença de uma substring '33' na string. Otimize-o:

javascriptlet str = '123345';

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

O código a seguir verifica se a string termina com '.html'. Otimize-o:

javascriptlet str = 'index.html';

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

O código a seguir remove os espaços do final. Otimize-o:

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