⊗jsSpREStri 134 of 294 menu

Chaîne avec une expression régulière en JavaScript

Les expressions régulières peuvent être représentées sous forme de chaînes. C'est pratique dans le cas où vous avez besoin de faire des insertions de variables dans les regex, ou de les former dynamiquement.

Regardons un exemple. Supposons que nous ayons la chaîne suivante :

let str = 'img.png';

Supposons que nous appliquions à cette chaîne l'expression régulière suivante :

let reg = /\.(png|jpg)$/; let res = str.match(reg);

Réécrivons cette expression régulière sous forme de chaîne. Cela se fait à l'aide de l'objet spécial RegExp :

let reg = new RegExp('\.(png|jpg)$'); let res = str.match(reg);

Maintenant, mettons une partie de la regex dans une variable et insérons-la en utilisant la concaténation :

let pat = 'png|jpg'; let reg = new RegExp('\.(' + pat + ')$'); let res = str.match(reg);

Et maintenant, insérons la variable en utilisant des littéraux de gabarits (template strings) :

let pat = 'png|jpg'; let reg = new RegExp(`\.(${pat})$`); let res = str.match(reg);

Et maintenant, formons une partie de la regex à partir d'un tableau :

let exts = ['png', 'jpg']; let pat = exts.join('|'); let reg = new RegExp(`\.(${pat})$`); let res = str.match(reg);

Problèmes pratiques

Extrayez les noms des zones de domaine dans une variable séparée :

let reg = /^[a-z]+\.(ru|by|ua)$/; let res = reg.test(str);

Modifiez le problème précédent en tenant compte du fait que les zones de domaine sont stockées sous forme de tableau :

let arr = ['ru', 'by', 'ua'];
Français
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nous utilisons des cookies pour le fonctionnement du site, l'analyse et la personnalisation. Le traitement des données est effectué conformément à la Politique de confidentialité.
accepter tout personnaliser refuser