Βελτιστοποίηση της χρήσης κανονικών εκφράσεων στην JavaScript

Οι κανονικές εκφράσεις είναι ένα πολύ βαρύ και σχετικά αργό πράγμα. Όταν υπάρχει εναλλακτική λύση, είναι προτιμότερο να χρησιμοποιείται αυτή.

Ας δούμε ένα παράδειγμα. Ας υποθέσουμε ότι πρέπει να ελέγξουμε αν μια συγκεκριμένη συμβολοσειρά ξεκινά με θαυμαστικό. Ένας προγραμματιστής έλυσε αυτό το πρόβλημα με κανονική έκφραση:

javascriptlet str = '!123';

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

Ωστόσο, αυτό το πρόβλημα έχει μια λύση που λειτουργεί πολύ πιο γρήγορα:

javascriptlet str = '!123';

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

Ο ακόλουθος κώδικας ελέγχει για την ύπαρξη της υποσυμβολοσειράς '33' στη συμβολοσειρά. Εκτελέστε βελτιστοποίηση:

javascriptlet str = '123345';

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

Ο ακόλουθος κώδικας ελέγχει αν η συμβολοσειρά τελειώνει σε '.html'. Εκτελέστε βελτιστοποίηση:

javascriptlet str = 'index.html';

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

Ο ακόλουθος κώδικας περικόπτει τα κενά στο τέλος. Εκτελέστε βελτιστοποίηση:

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