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:
let str = 'xyz';
Giả sử chúng ta có đoạn mã sau với biểu thức chính quy:
let 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:
let 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:
let reg = new RegExp('\\w+'); // hoạt động
let res = str.match(reg);
Bài tập thực hành
Chuyển đổi biểu thức chính quy sau thành chuỗi:
let str = 'x1y x12y x123y';
let reg = /x\d+y/;
let res = str.replace(reg, '!');
Chuyển đổi biểu thức chính quy sau thành chuỗi:
let str = 'x.y xay xby';
let reg = /x\.y/;
let res = str.replace(reg, '!');
Chuyển đổi biểu thức chính quy sau thành chuỗi:
let str = 'x\\y';
let reg = /x\\y/;
let res = str.replace(reg, '!');