Обратна наклонена черта в низки от регулярни изрази в JavaScript

В низките с регулярни изрази трябва да се екранира (всъщност да се удвои) обратната наклонена черта. Нека да разгледаме пример. Да предположим, че имаме следната низка:

javascriptlet str = 'xyz';

Да предположим, че имаме следния код с регулярен израз:

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

Нека превърнем регулярния израз в низка. В този случай ще се сблъскаме с проблем с обратната наклонена черта:

javascriptlet reg = new RegExp('\w+'); // не работи
let res = str.match(reg);

За решаване на проблема удвояваме обратната наклонена черта:

javascriptlet reg = new RegExp('\\w+'); // работи
let res = str.match(reg);

Практически задачи

Задание 1

Превърнете регулярния израз в низка:

javascriptlet str = 'x1y x12y x123y';
let reg = /x\d+y/;
let res = str.replace(reg, '!');
Задание 2

Превърнете регулярния израз в низка:

javascriptlet str = 'x.y xay xby';
let reg = /x\.y/;
let res = str.replace(reg, '!');
Задание 3

Превърнете регулярния израз в низка:

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