Optimalisatie van het gebruik van reguliere expressies in JavaScript
Reguliere expressies zijn een zeer zware en relatief langzaam werkend iets. Wanneer er een alternatieve oplossing is, is het wenselijk om deze te gebruiken.
Laten we een voorbeeld bekijken. Stel dat we moeten controleren of een bepaalde string begint met een uitroepteken. Een programmeur heeft deze taak opgelost met een reguliere expressie:
let str = '!123';
if (/^!/.test(str)) {
console.log('+++');
} else {
console.log('---');
}
Echter, zo'n taak heeft een veel sneller werkende oplossing:
let str = '!123';
if (str[0] == '!') {
console.log('+++');
} else {
console.log('---');
}
De volgende code controleert op de aanwezigheid in de string
van de substring '33'.
Voer optimalisatie uit:
let str = '123345';
if (/33/.test(str)) {
console.log('+++');
} else {
console.log('---');
}
De volgende code controleert of de string
eindigt op '.html'.
Voer optimalisatie uit:
let str = 'index.html';
if (/\.html$/.test(str)) {
console.log('+++');
} else {
console.log('---');
}
De volgende code verwijdert trailing spaties. Voer optimalisatie uit:
let str = ' text ';
let res = str.replace(/^\s+|\s+$/g, '');
console.log(res);