L'objet RegExp

Parent Previous Next



L'objet RegExp



L'objet RegExp est l'objet qui gère les expressions régulières. Il y a donc deux façons de déclarer une regex : via RegExp ou via son type primitif que nous avons utilisé jusqu'à présent :

var myRegex1 = /^Raclette$/i;

var myRegex2 = new RegExp("^Raclette$", "i");


Le constructeur RegExp reçoit deux paramètres : le premier est l'expression régulière sous la forme d'une chaîne de caractères, et le deuxième est l'option de recherche, ici i. L'intérêt d'utiliser RegExp est qu'il est possible d'inclure des variables dans la regex, chose impossible en passant par le type primitif :

var nickname = "Sébastien";

var myRegex  = new RegExp("Mon prénom est " + nickname, "i");


Ce n'est pas spécialement fréquent, mais cela peut se révéler particulièrement utile. Il est cependant conseillé d'utiliser la notation littérale (le type primitif) quand l'utilisation du constructeur RegExp n'est pas nécessaire.


Méthodes


RegExp ne possède que deux méthodes : test() et exec(). La méthode test() a déjà été utilisée et permet de tester une expression régulière ; elle renvoie true si le test est réussi ou false si le test échoue. De son côté, exec() applique également une expression régulière, mais renvoie un tableau dont le premier élément contient la portion de texte trouvée dans la chaîne de caractères. Si rien n'est trouvé, null est renvoyé.

var sentence = "Si ton tonton";

 

var result = /\bton\b/.exec(sentence); // On cherche à récupérer le mot « ton »

 

if (result) { // On vérifie que ce n'est pas null

    alert(result); // Affiche « ton »

}


Propriétés


L'objet RegExp contient neuf propriétés, appelées $1$2$3… jusqu'à $9. Comme nous allons le voir dans la sous-partie suivante, il est possible d'utiliser une regex pour extraire des portions de texte, et ces portions sont accessibles via les propriétés $1 à $9.

Tout cela va être mis en lumière un peu plus loin en parlant des parenthèses !


Créé avec HelpNDoc Personal Edition: Générateur complet d'aides multi-formats

Site à deux balles