Dấu gạch chéo ngược trong chuỗi biểu thức chính quy JavaScript

Trong chuỗi chứa biểu thức chính quy, cần phải thoát (thực chất là nhân đôi) các dấu gạch chéo ngược. Hãy cùng xem qua ví dụ. Giả sử chúng ta có chuỗi sau:

javascriptlet str = 'xyz';

Giả sử chúng ta có đoạn mã sau với biểu thức chính quy:

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

Hãy chuyển đổi biểu thức chính quy thành một chuỗi. Trong trường hợp này, chúng ta sẽ gặp vấn đề với dấu gạch chéo ngược:

javascriptlet reg = new RegExp('\w+'); // không hoạt động
let res = str.match(reg);

Để giải quyết vấn đề, hãy nhân đôi dấu gạch chéo ngược:

javascriptlet reg = new RegExp('\\w+'); // hoạt động
let res = str.match(reg);

Bài tập thực hành

Задание 1

Chuyển đổi biểu thức chính quy sau thành chuỗi:

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

Chuyển đổi biểu thức chính quy sau thành chuỗi:

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

Chuyển đổi biểu thức chính quy sau thành chuỗi:

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