Pages

Expression régulière : la force est avec vous !

Objectif

Vous connaissez les expressions régulières : elles sont utilisées dans de très nombreux langages de programmation. Elles permettent de vérifier la saisie d'un utilisateur (email, nom, date ... ).

Voici un exemple concret d'utilisation des expressions régulières. Nous recherchons des mots réservés d'un langage pour en permettre une meilleurs lectures.
Revenons sur l'expression : match = keywords.exec(text) utilisée dans l'exemple.

match = keywords.exec(text)

var keywords = /(ch)/g; // on recherche "ch" dans le text
var text = "je recherche les prochaines occurrences"; // le texte à vérifier

console.log("========== 1 ==========");
var match = keywords.exec(text);
console.log(" match = " + match); // l'expression trouvée
console.log(" match.index = " + match.index); // la position de la première
console.log(" keywords.lastIndex =" + keywords.lastIndex); 

console.log("========== 2 ==========");
match = keywords.exec(text);
console.log(" match = " + match); //  l'expression trouvée
console.log(" match.index = " + match.index); // la position de la deuxième
console.log(" keywords.lastIndex =" + keywords.lastIndex);

console.log("========== 3 ==========");
match = keywords.exec(text);
console.log(" match = " + match);
console.log(" match.index = " + match.index);
console.log(" keywords.lastIndex =" + keywords.lastIndex);

console.log("========== 4 ==========");
match = keywords.exec(text);
console.log(" match = " + match);
console.log(" match.index = " + match.index);
console.log(" keywords.lastIndex =" + keywords.lastIndex);

Fichier test : https://output.jsbin.com/beqebi/2/

Utilisation classique dans le DOM

D'après le code précédent, l'écriture d'une simple boucle permettra de rechercher et traiter toutes les occurrences.

Fichier test : https://output.jsbin.com/duveqi/1/