Pour travailler avec les expressions régulières en JavaScript, aussi appelées expressions rationnelles, il existe trois syntaxes différentes, chacune ayant ses avantages et inconvénients.
Avec cette notation, l'expression régulière n'est pas entourée d'apostrophes ni de guillemets.
L'expression sera compilée dès le moment où elle est évaluée. Ceci est utile, notamment, lorsque l'expression régulière fait partie d'une boucle puisqu'elle sera compilée une seule fois.
L'expression régulière doit :
Par exemple, pour cibler chacune des cellules d'un tableau HTML :
/(<td)(.*)(<\/td>)/g
Dans cet exemple, le modifieur g (Global) assure que toutes les cellules seront ciblées et non seulement la première.
Une autre technique consiste à travailler avec le constructeur de la classe RegExp.
L'expression sera compilée au moment de l'exécution. Ceci est utile, notamment, pour cibler plusieurs parties du texte alors qu'un caractère à la fin d'une partie est également utilisé pour la partie suivante.
Par exemple, dans le texte | bonjour | salut |, le patron qui cible du texte entre deux | devra utiliser un objet RexExp pour que le | du milieu puisse être utilisé pour la première et pour la seconde partie.
Avec cette notation :
Attention : puisque le patron est placé entre apostrophes ou guillemets, la barre oblique inverse jouera son rôle d'échappement lorsque le constructeur recevra la chaîne en paramètre. Il faut donc doubler chaque barre oblique inverse (double backslash), par exemple : \\/ pour cibler une barre oblique dans le texte, \\. pour cibler un point, \\d pour un caractère numérique, \\n pour un saut de ligne, etc.
Ex :
new RegExp('(<td)(.*)(<\\/td>)', 'g')
Depuis EMMAScript 6, il est possible de travailler avec une combinaison des deux premières approches.
Ex :
new RegExp(/(<td)(.*)(<\/td>)/, 'g')
« RegExp ». MDN. https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/RegExp
« Expressions rationnelles ». MDN. https://developer.mozilla.org/fr/docs/Web/JavaScript/Guide/Expressions_r%C3%A9guli%C3%A8res
« RegExp tester ». gskinner. https://regexr.com/
▼Publicité
Site fièrement hébergé chez A2 Hosting.