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:
let str = '!123';
if (/^!/.test(str)) {
console.log('+++');
} else {
console.log('---');
}
No entanto, essa tarefa tem uma solução muito mais rápida:
let str = '!123';
if (str[0] == '!') {
console.log('+++');
} else {
console.log('---');
}
O código a seguir verifica a presença de uma
substring '33' na string.
Otimize-o:
let str = '123345';
if (/33/.test(str)) {
console.log('+++');
} else {
console.log('---');
}
O código a seguir verifica se a
string termina com '.html'.
Otimize-o:
let str = 'index.html';
if (/\.html$/.test(str)) {
console.log('+++');
} else {
console.log('---');
}
O código a seguir remove os espaços do final. Otimize-o:
let str = ' text ';
let res = str.replace(/^\s+|\s+$/g, '');
console.log(res);