Omvendt skråstreg i regex-streng i JavaScript
I streng med regulære udtryk skal du escape (faktisk fordoble) omvendte skråstreger. Lad os se på et eksempel. Lad os sige, at vi har følgende streng:
let str = 'xyz';
Lad os sige, at vi har følgende kode med et regulært udtryk:
let reg = /\w+/;
let res = str.match(reg);
Lad os ændre det regulære udtryk til en streng. I dette tilfælde vil vi støde på et problem med den omvendte skråstreg:
let reg = new RegExp('\w+'); // virker ikke
let res = str.match(reg);
For at løse problemet fordobler vi den omvendte skråstreg:
let reg = new RegExp('\\w+'); // virker
let res = str.match(reg);
Praktiske opgaver
Ændr regex til en streng:
let str = 'x1y x12y x123y';
let reg = /x\d+y/;
let res = str.replace(reg, '!');
Ændr regex til en streng:
let str = 'x.y xay xby';
let reg = /x\.y/;
let res = str.replace(reg, '!');
Ændr regex til en streng:
let str = 'x\\y';
let reg = /x\\y/;
let res = str.replace(reg, '!');