Blog ENI : Toute la veille numérique !
🐠 -25€ dès 75€ 
+ 7 jours d'accès à la Bibliothèque Numérique ENI. Cliquez ici
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
  1. Livres et vidéos
  2. PHP et JavaScript
  3. Les expressions régulières
Extrait - PHP et JavaScript Dynamisez vos sites et applications web (avec exercices et corrigés)
Extraits du livre
PHP et JavaScript Dynamisez vos sites et applications web (avec exercices et corrigés) Revenir à la page d'achat du livre

Les expressions régulières

Introduction

Les expressions régulières sont aussi bien supportées par PHP que JavaScript. Ce concept est très puissant et permet de manipuler les chaînes de caractères. Vous entendrez souvent parler de la notion de "regex" autour de ce concept, très utilisé chez les développeurs.

Ces expressions sont utilisées dans de nombreux cas de figure, et en particulier pour vérifier le contenu d’une chaîne de caractères, ou bien encore pour en extraire une partie spécifique, la supprimer, la remplacer et dans bien d’autres cas.

La syntaxe

Une expression régulière doit être délimitée par deux slashs (/), et peut être placée dans une variable, comme ceci :


var regex = /la_chaine_a_rechercher/
 

Vous remarquez qu’il n’y a pas de guillemets, seuls les slashs délimitent l’expression.

Utilisation

Il y a deux façons d’utiliser les expressions régulières :

  • à l’aide de l’objet regex de JavaScript

  • à l’aide de certaines méthodes liées à l’objet string, telles que :

  • .match()

  • .search()

  • .split()

  • .replace()

1. Utilisation de regex et de la méthode test()

La méthode test() est simple d’utilisation, elle retourne true en cas de succès, sinon c’est false. Elle s’utilise comme ceci en passant en paramètre la chaîne de caractères dans laquelle vous voulez effectuer la recherche :


<script>   
    var regex = /bleue/ 
    if (regex.test('la mer est bleue')) 
           document.write('la chaine recherchée a été trouvée') 
    else 
           document.write('la chaine recherchée n\'a pas été 
trouvée') 
</script>
 

Ce qui affiche :

images/22RI01.png

Le mot bleue a été trouvé dans la chaîne passée en paramètre dans la méthode test, donc la fonction renvoi true. Essayez avec une autre couleur et vous obtiendrez le résultat inverse.

a. Tenir compte de la casse

Cette méthode par défaut est case sensitive, c’est-à-dire qu’elle tient compte de la casse (des minuscules et des majuscules). La recherche du mot Bleue aurait retourné une valeur false.

Pour ne pas tenir compte de la casse, la méthode peut accepter l’option i qui permet d’ignorer la différence entre les minuscules et les majuscules, cela s’utilise au niveau de la chaîne à rechercher, ainsi :


var regex = /bleue/i
 

 Testez ce code avec une chaîne contenant le mot Bleue (avec un B majuscule) et le résultat sera positif.

Vous n’êtes pas obligé de passer par une variable, le code suivant renverra le même résultat : /bleue/i.test(’la mer est Bleue’).

b. Plusieurs valeurs possibles : Ou

La recherche précédente ne s’applique que pour une seule couleur, si vous devez aussi rechercher la chaîne noir en plus de bleue, vous pouvez écrire vos couleurs séparées par un caractère pipe (|) ou barre verticale :...