Backslash dalam String Regex di JavaScript

Dalam string yang berisi regex, backslash perlu di-escape (pada dasarnya diduplikasi). Mari kita lihat contohnya. Misalkan kita memiliki string berikut:

javascriptlet str = 'xyz';

Misalkan kita memiliki kode berikut dengan ekspresi reguler:

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

Mari kita ubah ekspresi reguler menjadi string. Dalam hal ini, kita akan mengalami masalah dengan backslash:

javascriptlet reg = new RegExp('\w+'); // tidak bekerja
let res = str.match(reg);

Untuk mengatasi masalahnya, duplikat backslash:

javascriptlet reg = new RegExp('\\w+'); // bekerja
let res = str.match(reg);

Masalah Praktis

Задание 1

Ubah regex menjadi string:

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

Ubah regex menjadi string:

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

Ubah regex menjadi string:

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