
La classe RegExp
Vous êtes ici : Accueil / Cours / Cours de Javascript / Progresser en Javascript
Une expression régulière est un motif qui correspond à des ensembles de chaînes de caractères. Elle permet de filtrer des chaînes pour s’assurer de leur validité dans les formulaires, d’extraire des parties de chaînes comme par exemple pour en sortir les adresses email...
Le but de cette partie n’est pas d’enseigner leur syntaxe, mais leur utilisation dans le cadre du Javascript. Un excellent site à connaître absolument est RegExp.com :
![]()
REGEXP
Les expressions régulières en PHP
Instanciation de la classe RegExp
Il existe 2 syntaxes pour instancier une expression régulière : en faisant un appel explicite à la classe ou en entourant une chaîne de slashes :
var regexp = new RegExp( 'mon_expression' );
// Instanciation explicite avec options
var regexp = new RegExp( 'mon_expression', 'options' );
// Forme simplifiée
var regexp = /mon_expression/option;
// Affiche true
alert( regexp instanceof RegExp );
Propriétés de la classe RegExp
| Propriété | R/W | Description |
|---|---|---|
| global | R | Vaut true si l’option g est activée |
| ignoreCase | R | Vaut true si l’option i est activée |
| input | R | Correspond à la chaîne que l’on a testée |
| lastIndex | R | Correspond à la position à partir de laquelle la prochaine recherche va s’effectuer |
| lastMatch | R | Correspond aux derniers caractères trouvés |
| lastParen | R | Correspond aux derniers caractères capturés par des parenthèses |
| leftContext | R | Correspond à la chaîne à gauche de la dernière occurrence |
| multiline | R | Vaut true si l’option m est activée |
| rightContext | R | Correspond à la chaîne à droite de la dernière occurence |
| source | R | Correspond à l’expression régulière qui sert à faire les tests |
Méthodes de la classe RegExp
| Méthode | Description |
|---|---|
| RegExp compile( String reg [, String options] ) | Redéfinit l’expression régulière. |
| Array exec( String ) | Applique l’expression régulière à une chaîne et en retourne les valeurs trouvées. |
| bool test( String ) | Teste si une chaîne correspond au motif |
Exécuter une fonction de callback à chaque occurrence
La classe String possède une méthode très puissante : replace() Cette méthode peut posséder comme premier argument une expression régulière, et comme second argument une fonction de callback :
str = str.replace( /[A-Z]/g, function( occurrence, index, chaine ) {
alert( 'Occurrence trouvée : ' + occurrence );
return occurrence.toLowerCase();
} );
// Affiche hello world
alert( str );



