Ký hiệu dấu mũ bên trong tập hợp trong biểu thức chính quy JavaScript

Như bạn đã biết, dấu mũ bên trong [ ] tạo ra phủ định khi được viết ở đầu dấu ngoặc. Điều đó có nghĩa, nó là một ký tự đặc biệt bên trong những dấu ngoặc này. Để nhận được dấu mũ như một ký tự thông thường, cần phải hoặc là thoát nó, hoặc là di chuyển nó khỏi vị trí đầu tiên.

Ví dụ

Trong ví dụ tiếp theo, mẫu tìm kiếm như sau: ký tự đầu tiên - là tất cả ngoại trừ 'd', sau đó là hai chữ cái 'x'.

javascriptlet str = 'axx bxx ^xx dxx';
let res = str.replace(/[^d]xx/g, '!');

Kết quả, biến sẽ được ghi giá trị sau:

javascript'! ! ! dxx'

Ví dụ

Và bây giờ mẫu tìm kiếm như sau: ký tự đầu tiên - là 'd' hoặc '^', sau đó là hai chữ cái 'x':

javascriptlet str = 'axx bxx ^xx dxx';
let res = str.replace(/[d^]xx/g, '!');

Kết quả, biến sẽ được ghi giá trị sau:

javascript'axx bxx ! !'

Ví dụ

Có thể không cần di chuyển dấu mũ khỏi vị trí đầu tiên, mà chỉ cần thoát nó bằng dấu gạch chéo ngược, và nó sẽ biểu thị chính nó:

javascriptlet str = 'axx bxx ^xx dxx';
let res = str.replace(/[\^d]xx/g, '!');

Kết quả, biến sẽ được ghi giá trị sau:

javascript'axx bxx ! !'

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

Задание 1

Cho chuỗi:

javascriptlet str = '^xx axx ^zz bkk @ss';

Viết biểu thức chính quy, tìm các chuỗi theo mẫu: dấu mũ hoặc dấu @, sau đó là hai chữ cái Latin.

Задание 2

Cho chuỗi:

javascriptlet str = '^xx axx ^zz bkk @ss';

Viết biểu thức chính quy, tìm các chuỗi theo mẫu: KHÔNG PHẢI dấu mũ và không phải dấu @, sau đó là hai chữ cái Latin.

Задание 3

Cho chuỗi:

javascriptlet str = '^xx axx ^zz bkk';

Viết biểu thức chính quy, tìm các chuỗi theo mẫu: không phải dấu mũ và không phải dấu cách, sau đó là hai chữ cái Latin.