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:

javascriptlet str = '!123';

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

Tuttavia, per questo problema esiste una soluzione molto più veloce:

javascriptlet str = '!123';

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

Il seguente codice verifica la presenza nella stringa della sottostringa '33'. Esegui l'ottimizzazione:

javascriptlet str = '123345';

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

Il seguente codice verifica se la stringa termina con '.html'. Esegui l'ottimizzazione:

javascriptlet str = 'index.html';

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

Il seguente codice taglia gli spazi finali. Esegui l'ottimizzazione:

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