Ottimizzazione dell'uso delle espressioni regolari in JavaScript
Le espressioni regolari sono una cosa molto pesante e relativamente lenta. Quando esiste una soluzione alternativa, è preferibile utilizzare quella.
Diamo un'occhiata a un esempio. Supponiamo di dover verificare se una stringa inizia con un punto esclamativo. Un programmatore ha risolto questo problema con un'espressione regolare:
let str = '!123';
if (/^!/.test(str)) {
console.log('+++');
} else {
console.log('---');
}
Tuttavia, per questo problema esiste una soluzione molto più veloce:
let str = '!123';
if (str[0] == '!') {
console.log('+++');
} else {
console.log('---');
}
Il seguente codice verifica la presenza nella stringa
della sottostringa '33'.
Esegui l'ottimizzazione:
let str = '123345';
if (/33/.test(str)) {
console.log('+++');
} else {
console.log('---');
}
Il seguente codice verifica se la stringa
termina con '.html'.
Esegui l'ottimizzazione:
let str = 'index.html';
if (/\.html$/.test(str)) {
console.log('+++');
} else {
console.log('---');
}
Il seguente codice taglia gli spazi finali. Esegui l'ottimizzazione:
let str = ' text ';
let res = str.replace(/^\s+|\s+$/g, '');
console.log(res);