Βελτιστοποίηση της χρήσης κανονικών εκφράσεων στην JavaScript
Οι κανονικές εκφράσεις είναι ένα πολύ βαρύ και σχετικά αργό πράγμα. Όταν υπάρχει εναλλακτική λύση, είναι προτιμότερο να χρησιμοποιείται αυτή.
Ας δούμε ένα παράδειγμα. Ας υποθέσουμε ότι πρέπει να ελέγξουμε αν μια συγκεκριμένη συμβολοσειρά ξεκινά με θαυμαστικό. Ένας προγραμματιστής έλυσε αυτό το πρόβλημα με κανονική έκφραση:
let str = '!123';
if (/^!/.test(str)) {
console.log('+++');
} else {
console.log('---');
}
Ωστόσο, αυτό το πρόβλημα έχει μια λύση που λειτουργεί πολύ πιο γρήγορα:
let str = '!123';
if (str[0] == '!') {
console.log('+++');
} else {
console.log('---');
}
Ο ακόλουθος κώδικας ελέγχει για την ύπαρξη της
υποσυμβολοσειράς '33' στη συμβολοσειρά.
Εκτελέστε βελτιστοποίηση:
let str = '123345';
if (/33/.test(str)) {
console.log('+++');
} else {
console.log('---');
}
Ο ακόλουθος κώδικας ελέγχει αν η συμβολοσειρά
τελειώνει σε '.html'.
Εκτελέστε βελτιστοποίηση:
let str = 'index.html';
if (/\.html$/.test(str)) {
console.log('+++');
} else {
console.log('---');
}
Ο ακόλουθος κώδικας περικόπτει τα κενά στο τέλος. Εκτελέστε βελτιστοποίηση:
let str = ' text ';
let res = str.replace(/^\s+|\s+$/g, '');
console.log(res);