Méthodes Exp Rég - Cours Javascript

Introduction

Infos

Il existe plusieurs méthodes qui sont utilisées avec les expressions régulières :
- test()
- split()
- match()
- replace()
- search()
- exec()
- compile()

Vocabulaires :
- exp_reguliere , occurrence d'expression régulière (RegExp)
- motif, expression régulière
- chaîne, chaîne de caractères dans laquelle nous allons faire notre recherche.

compile()

Définition

La méthode javascript exp_reguliere.compile(chaîne, modificateur) permet de changer le motif d'une l'expression régulière déjà créée.
Exemple de code :
var momo = "ce aliasdmc est un chouette type";
var exp_reg = /MOMO/gi;
alert(exp_reg.test(momo));
//false
exp_reg.compile("DMC", "gi");
alert(exp_reg.test(momo));
//true

La méthode javascript exp_reguliere.compile(chaîne, modificateur) accepte comme paramètre :
- une chaîne de caractères
- modificateur "i", "gi", "g", paramètre facultatif.

exec()

Définition

La méthode javascript exp_reguliere.exec(chaîne) permet de récupérer la première correspondance trouvée.
Exemple de code :
var momo = "ce aliasdmc est un chouette type";
var exp_reg = /[a-z]t/gi;
alert(exp_reg.exec(momo));
//st

La méthode javascript exec(chaîne) accepte comme paramètre une chaîne de caractères.

La méthode javascript exec() renvoie première correspondance trouvée.

J'ai lu quelque part, qu'il y aurait un bug sous Internet Explorer, je n'ai pu vérifier.

match()

Définition

La méthode javascript match(exp_reguliere) permet de récupérer toutes les correspondances entre une chaîne de caractères et une expression régulière sous la forme d'un tableau.
Exemple de code :
var momo = "ce aliasdmc est un chouette type, ce aliasdmc est un chouette type";
var exp_reg = /[a-z]t/gi;
var resultat = momo.match(exp_reg);
if(resultat != null){
  for(var i=0; i<resultat.length; i++){
    alert(resultat[i]);
  }
}
//st
//et
//st
//et

La méthode javascript match(exp_reguliere) accepte comme paramètre une instance d'expression régulière.

La méthode javascript match() renvoie une valeur de type :
- Array, tableau avec tous les résultats.
- null, s'il n'y pas de résultat

replace()

Définition

La méthode javascript replace(exp_reguliere, remplacement) permet de remplacer une correspondance entre une chaîne de caractères et une expression régulière.
Exemple de code :
var momo = "ce aliasdmc est un chouette type";
var exp_reg = /un/gi;
alert(momo.replace(exp_reg, "une"));
//ce aliasdmc est une chouette type

La méthode javascript replace(exp_reguliere, remplacement) accepte comme paramètre :
- une instance d'expression régulière.
- une String qui correspond à la nouvelle valeur de la correspondance ou $1, $2,..., $9 qui correspond aux 9 premiers groupements (voir chap Expression régulière ->Les regroupements)

La méthode javascript replace() renvoie la nouvelle chaîne modifier ou non.

split()

Définition

La méthode javascript split(exp_reguliere, nombreOcccurence) permet de découper une chaîne de caractères suivant un séparateur (une expression régulière) Le résultat est un tableau.
Exemple de code :
var momo = "ce aliasdmc est un chouette type";
var exp_reg = /e/gi;
var resultat = momo.split(exp_reg));
  for(var i=0; i<resultat.length; i++){
    alert(resultat[i]);
  }
//c
// aliasdmc
//st un chou
//tt
// typ
//, c
// aliasdmc
//st un chou
//tt
// typ
//

Si on met un paramètre nombreOcccurence de 3:
Exemple de code :
//c
// aliasdmc
//st un chou

La méthode javascript split(exp_reguliere, remplacement) accepte comme paramètre :
- une instance d'expression régulière.
- remplacement valeur de type Number qui limite le nombre de résultats que l'on veut, paramètre facultatif.

La méthode javascript split() renvoie une valeur de type Array.

test()

Définition

La méthode javascript exp_reguliere.test(chaîne) permet de tester une correspondance entre une chaîne de caractères et une expression régulière.
Exemple de code :
var momo = "ce aliasdmc est un chouette type";
var exp_reg = /DMC/gi;
alert(exp_reg.test(momo));
//true

La méthode javascript exp_reguliere.test(chaîne) accepte comme paramètre une chaîne de caractères.

La méthode javascript test() renvoie une valeur de type Boolean.
- true, s'il y correspondance
- false dans le cas contraire.

J'ai lu quelque part, qu'il y aurait un bug sous Internet Explorer, je n'ai pu vérifier.