A backslash a JavaScript regex sztringekben

A regex sztringekben escape-elni kell (gyakorlatilag megduplázni) a backslash-eket. Nézzük meg egy példán. Tegyük fel, hogy a következő sztringünk van:

javascriptlet str = 'xyz';

Tegyük fel, hogy a következő kódunk van egy reguláris kifejezéssel:

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

Alakítsuk át a reguláris kifejezést sztringgé. Ebben az esetben probléma adódik a backslash-el:

javascriptlet reg = new RegExp('\w+'); // nem működik
let res = str.match(reg);

A probléma megoldásához duplázzuk meg a backslash-t:

javascriptlet reg = new RegExp('\\w+'); // működik
let res = str.match(reg);

Gyakorlati feladatok

Задание 1

Alakítsa át a regexet sztringgé:

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

Alakítsa át a regexet sztringgé:

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

Alakítsa át a regexet sztringgé:

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