Optimisation de l'utilisation des expressions régulières en JavaScript
Les expressions régulières sont un outil très lourd et relativement lent. Quand une solution alternative existe, il est préférable de l'utiliser.
Regardons un exemple. Supposons que nous devions vérifier si une chaîne de caractères commence par un point d'exclamation. Un certain programmeur a résolu cette tâche avec une regex :
let str = '!123';
if (/^!/.test(str)) {
console.log('+++');
} else {
console.log('---');
}
Cependant, cette tâche a une solution beaucoup plus rapide :
let str = '!123';
if (str[0] == '!') {
console.log('+++');
} else {
console.log('---');
}
Le code suivant vérifie la présence dans la chaîne de la
sous-chaîne '33'.
Effectuez l'optimisation :
let str = '123345';
if (/33/.test(str)) {
console.log('+++');
} else {
console.log('---');
}
Le code suivant vérifie si la chaîne se termine
par '.html'.
Effectuez l'optimisation :
let str = 'index.html';
if (/\.html$/.test(str)) {
console.log('+++');
} else {
console.log('---');
}
Le code suivant supprime les espaces en fin de chaîne. Effectuez l'optimisation :
let str = ' text ';
let res = str.replace(/^\s+|\s+$/g, '');
console.log(res);