⊗jsSpRESBs 136 of 294 menu

Barre oblique inversée dans les chaînes d'expressions régulières en JavaScript

Dans les chaînes contenant des expressions régulières, il est nécessaire d'échapper (en fait, de doubler) les barres obliques inversées. Regardons un exemple. Supposons que nous ayons la chaîne suivante :

let str = 'xyz';

Supposons que nous ayons le code suivant avec une expression régulière :

let reg = /\w+/; let res = str.match(reg);

Convertissons l'expression régulière en une chaîne. Dans ce cas, nous rencontrerons un problème avec la barre oblique inversée :

let reg = new RegExp('\w+'); // ne fonctionne pas let res = str.match(reg);

Pour résoudre le problème, doublons la barre oblique inversée :

let reg = new RegExp('\\w+'); // fonctionne let res = str.match(reg);

Problèmes pratiques

Convertissez l'expression régulière en chaîne :

let str = 'x1y x12y x123y'; let reg = /x\d+y/; let res = str.replace(reg, '!');

Convertissez l'expression régulière en chaîne :

let str = 'x.y xay xby'; let reg = /x\.y/; let res = str.replace(reg, '!');

Convertissez l'expression régulière en chaîne :

let str = 'x\\y'; let reg = /x\\y/; let res = str.replace(reg, '!');
dekkhuitsv