⊗jsSpREMl 114 of 294 menu

Multiligne dans les regex JavaScript

Les expressions régulières ont leurs spécificités lorsqu'elles travaillent avec des chaînes multilignes. Voyons cela sur l'exemple de la chaîne suivante, contenant des caractères ordinaires, des sauts de ligne et des tabulations :

let str = `111 222 333 444`;

Saut de ligne

Les sauts de ligne peuvent être attrapés avec la commande '\n' :

let res = str.replace(/\n/g, '!');

En conséquence, la variable contiendra ce qui suit (les espaces entre les lignes sont des tabulations) :

`111! 222! 333! 444`;

Tabulation

Les tabulations peuvent être attrapées avec la commande '\t' :

let res = str.replace(/\t/g, '!');

En conséquence, la variable contiendra ce qui suit :

` 111 !222 !333 !444 `;

Comportement du point

La commande '.', avec une chaîne multiligne, n'attrape pas les sauts de ligne :

let res = str.replace(/./g, '!');

En conséquence, la variable contiendra ce qui suit :

` !!! !!!! !!!! !!!! `;

Tout caractère

Pour attraper tous les caractères dans une chaîne multiligne, on utilise une astuce sous la forme de la combinaison [\s\S]. Cette construction trouvera tous les caractères ordinaires et tous les sauts de ligne :

let res = str.replace(/[\s\S]/g, '!');

En conséquence, la variable contiendra ce qui suit :

`!!!!!!!!!!!!!!!!!!`;

Accent circonflexe

Avec le modificateur 'm' on peut activer le mode multiligne. Dans ce cas, l'accent circonflexe matchera le début de chaque ligne :

let res = str.replace(/^/gm, '!');

En conséquence, la variable contiendra ce qui suit :

` !111 !222 !333 !444 `;

Dollar

La commande '$' en mode multiligne attrapera la fin de chaque ligne :

let res = str.replace(/$/gm, '!');

En conséquence, la variable contiendra ce qui suit :

` 111! 222! 333! 444! `;

Problèmes pratiques

Soit une chaîne :

` abc def ghi jkl `;

Écrivez une expression régulière qui transformera cette chaîne en celle-ci :

` abc! def! ghi! jkl! `;

Soit une chaîne :

` abc def ghi jkl `;

Écrivez une expression régulière qui transformera cette chaîne en celle-ci :

` ! abc ! def ! ghi ! jkl `;

Soit une chaîne :

` abc def ghi jkl `;

Écrivez une expression régulière qui transformera cette chaîne en celle-ci :

`! abc def ghi jkl !`;

Soit une chaîne :

` abc def ghi jkl `;

Écrivez une expression régulière qui transformera cette chaîne en celle-ci :

`! ! abc ! def ! ghi ! jkl !`;

Soit une chaîne :

` abc def ghi jkl `;

Écrivez une expression régulière qui transformera cette chaîne en celle-ci :

`! abc! def! ghi! jkl! !`;

Soit une chaîne :

` abc def ghi jkl `;

Écrivez une expression régulière qui transformera cette chaîne en celle-ci :

` !abc !def !ghi !jkl `;
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