Зваротны слэш у радках рэгулярак у JavaScript
У радках з рэгуляркамі трэба экранаваць (фактычна падвойваць) зваротныя слэшы. Давайце паглядзім на прыкладзе. Хай у нас ёсць наступны радок:
let str = 'xyz';
Хай у нас ёсць наступны код з рэгулярным выразам:
let reg = /\w+/;
let res = str.match(reg);
Давайце пераробім рэгулярны выраз у радок. У гэтым выпадку ў нас узнікне праблема са зваротным слэшам:
let reg = new RegExp('\w+'); // не працуе
let res = str.match(reg);
Для вырашэння праблемы падвоім зваротны слэш:
let reg = new RegExp('\\w+'); // працуе
let res = str.match(reg);
Практычныя задачы
Перарабіце рэгулярку ў радок:
let str = 'x1y x12y x123y';
let reg = /x\d+y/;
let res = str.replace(reg, '!');
Перарабіце рэгулярку ў радок:
let str = 'x.y xay xby';
let reg = /x\.y/;
let res = str.replace(reg, '!');
Перарабіце рэгулярку ў радок:
let str = 'x\\y';
let reg = /x\\y/;
let res = str.replace(reg, '!');