Optimalisering av bruk av regulære uttrykk i JavaScript

Regulære uttrykk er en svært tung og relativt tregt fungerende ting. Når det finnes en alternativ løsning, er det tilrådelig å bruke nettopp den.

La oss se på et eksempel. Anta at vi må sjekke om en bestemt streng starter med et utropstegn. En programmerer løste denne oppgaven med et regulært uttrykk:

javascriptlet str = '!123';

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

Imidlertid har en slik oppgave en mye raskere løsning:

javascriptlet str = '!123';

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

Følgende kode sjekker om en streng inneholder delstrengen '33'. Utfør optimalisering:

javascriptlet str = '123345';

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

Følgende kode sjekker om strengen slutter med '.html'. Utfør optimalisering:

javascriptlet str = 'index.html';

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

Følgende kode fjerner avsluttende mellomrom. Utfør optimalisering:

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