Povratna poševnica v nizih regularnih izrazov v JavaScript
V nizih z regularnimi izrazi je treba escapirati (dejansko podvojiti) povratne poševnice. Poglejmo si primer. Recimo, da imamo naslednji niz:
let str = 'xyz';
Recimo, da imamo naslednjo kodo z regularnim izrazom:
let reg = /\w+/;
let res = str.match(reg);
Preoblikujmo regularni izraz v niz. V tem primeru se bomo soočili s težavo s povratno poševnico:
let reg = new RegExp('\w+'); // ne deluje
let res = str.match(reg);
Za rešitev težave podvojimo povratno poševnico:
let reg = new RegExp('\\w+'); // deluje
let res = str.match(reg);
Praktične naloge
Spremenite regularni izraz v niz:
let str = 'x1y x12y x123y';
let reg = /x\d+y/;
let res = str.replace(reg, '!');
Spremenite regularni izraz v niz:
let str = 'x.y xay xby';
let reg = /x\.y/;
let res = str.replace(reg, '!');
Spremenite regularni izraz v niz:
let str = 'x\\y';
let reg = /x\\y/;
let res = str.replace(reg, '!');