Đảo ngược tập hợp ký tự trong regex

Sử dụng dấu mũ '^' ở đầu dấu ngoặc vuông có thể đảo ngược mong muốn. Tức là, nếu, ví dụ, lệnh [ab] tìm chữ cái 'a' hoặc 'b', thì lệnh [^ab] sẽ tìm tất cả các ký tự, ngoại trừ 'a' và 'b'.

Ví dụ

Trong ví dụ này, mẫu tìm kiếm trông như thế này: chữ cái 'x', sau đó KHÔNG PHẢI chữ cái 'a', không 'b' và không 'c', rồi chữ cái 'z':

javascriptlet str = 'xaz xbz xcz xez';
let res = str.replace(/x[^abc]z/g, '!');

Kết quả, biến sẽ ghi lại điều sau:

javascript'xax xbx xcx !'

Ví dụ

Trong ví dụ này, mẫu tìm kiếm trông như thế này: chữ cái 'x', sau đó KHÔNG PHẢI chữ cái Latinh viết thường, rồi chữ cái 'z':

javascriptlet str = 'xaz xbz x1z xCz';
let res = str.replace(/x[^a-z]z/g, '!');

Kết quả, biến sẽ ghi lại điều sau:

javascript'xaz xbz ! !'

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

Задание 1

Viết biểu thức chính quy tìm chuỗi theo mẫu: chữ số '1', sau đó ký tự không phải 'e' và không phải 'x', chữ số '2'.

Задание 2

Viết biểu thức chính quy tìm chuỗi theo mẫu: chữ cái 'x', sau đó KHÔNG PHẢI chữ số từ 2 đến 7, chữ cái 'z'.

Задание 3

Viết biểu thức chính quy tìm chuỗi theo mẫu: chữ cái 'x', sau đó KHÔNG PHẢI chữ cái Latinh viết hoa từ 1 lần trở lên, chữ cái 'z'.

Задание 4

Viết biểu thức chính quy tìm chuỗi theo mẫu: chữ cái 'x', sau đó KHÔNG PHẢI chữ cái Latinh viết hoa hoặc viết thường và không phải chữ số từ 1 đến 5 từ 1 lần trở lên, chữ cái 'z'.