special characters là ký tự đặc biệt

để biến ký tự đặc biệt thành ký tự thường trong chuỗi ta thêm dấu gạch chéo trước nó

Danh sách ký tự đặc biệt:

[ ] { } ( ) \ ^ $ . | ? * +.

Cách biến ký tự đặc biệt thành ký tự thường:

alert( "Chapter 5.1".match(/\d\.\d/) ); // 5.1 (match!)
alert( "Chapter 511".match(/\d\.\d/) ); // null (lỗi thì chuỗi tìm không có dấu chấm mà match có \.)

Tìm g() trong chuỗi sau:

alert( "function g()".match(/g\(\)/) ); // "g()" 

Tìm chính dấu gạch chéo \

alert( "1\\2".match(/\\/) ); // '\'  tìm thấy 1 dấu gạch

Tìm dấu gạch chéo khi dùng new RegExp

let regexp = new RegExp("\d\.\d");

alert( "Chapter 5.1".match(regexp) ); // null cần dùng cách khác để  Escaping

Cách tìm dấu gạch chéo đúng khi dùng new RegExp

let regStr = "\\d\\.\\d";
alert(regStr); // \d\.\d (hợp ký)

let regexp = new RegExp(regStr);

alert( "Chapter 5.1".match(regexp) ); // 5.1

Kết luận: Khi chuyển một chuỗi đến new RegExp, chúng ta cần phải có dấu gạch chéo ngược kép \\