Optimering av användningen av reguljära uttryck i JavaScript

Reguljära uttryck är en mycket tung och relativt långsam sak. När det finns en alternativ lösning, är det önskvärt att använda den.

Låt oss titta på ett exempel. Antag att vi behöver kontrollera om en viss sträng börjar med ett utropstecken. En programmerare löste detta problem med ett reguljärt uttryck:

javascriptlet str = '!123';

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

Emellertid har en sådan uppgift en mycket snabbare lösning:

javascriptlet str = '!123';

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

Följande kod kontrollerar förekomsten av delsträngen '33' i en sträng. Utför optimering:

javascriptlet str = '123345';

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

Följande kod kontrollerar om strängen slutar med '.html'. Utför optimering:

javascriptlet str = 'index.html';

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

Följande kod trimmar avslutande mellanslag. Utför optimering:

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