Garis Miring Belakang dalam Rentetan Regex di JavaScript
Dalam rentetan yang mengandungi regex, garis miring belakang perlu dilindungi (secara praktikalnya, digandakan). Mari kita lihat contoh. Katakan kita mempunyai rentetan berikut:
let str = 'xyz';
Katakan kita mempunyai kod berikut dengan ungkapan biasa:
let reg = /\w+/;
let res = str.match(reg);
Mari kita tukar ungkapan biasa kepada rentetan. Dalam kes ini, kita akan menghadapi masalah dengan garis miring belakang:
let reg = new RegExp('\w+'); // tidak berfungsi
let res = str.match(reg);
Untuk menyelesaikan masalah ini, gandakan garis miring belakang:
let reg = new RegExp('\\w+'); // berfungsi
let res = str.match(reg);
Masalah Praktikal
Tukarkan regex kepada rentetan:
let str = 'x1y x12y x123y';
let reg = /x\d+y/;
let res = str.replace(reg, '!');
Tukarkan regex kepada rentetan:
let str = 'x.y xay xby';
let reg = /x\.y/;
let res = str.replace(reg, '!');
Tukarkan regex kepada rentetan:
let str = 'x\\y';
let reg = /x\\y/;
let res = str.replace(reg, '!');