Chuyển đến nội dung chính
Mô-đun 5 · Bài học 3 trong tổng số 419/32 trong khóa học~8 min
Bài học theo mô-đun (3/4)

Phủ định: `[^...]`

Đặt dấu mũ ^ làm ký tự đầu tiên bên trong dấu ngoặc đảo ngược lớp: nó khớp với bất kỳ ký tự nào ngoại trừ những ký tự được liệt kê.

Code
Pattern: [^aeiou]
Sample:  ciao mondo
          ^   ^^  ^

[^aeiou] khớp với phụ âm, dấu cách, dấu câu, chữ số\u2026 mọi thứ không là một nguyên âm.

Ví dụ điển hình

  • [^\s] -- bất kỳ ký tự "không phải dấu cách" nào (tương đương với \S).
  • [^0-9] -- mọi thứ không phải là chữ số (tương đương với \D).
  • [^"]+ -- "một chuỗi ký tự không phải là dấu ngoặc kép" (hữu ích để trích xuất nội dung giữa các dấu ngoặc kép).
Code
Pattern: "([^"]+)"
Sample:  Il libro "Il nome della rosa" e' famoso.

Nhóm ([^"]+) ghi lại mọi thứ giữa các dấu ngoặc kép dừng lại trước " tiếp theo: đó là một thủ thuật cổ điển để tránh vấn đề tham lam và lười biếng.

Các ký tự đại diện phủ định và thay thế

Lớp phủ định [^...] sử dụng chính xác một ký tự KHÔNG thuộc tập hợp được liệt kê. Nó là một công cụ mạnh mẽ để ngăn chặn công cụ chạy qua các dấu phân cách quan trọng, tránh ReDoS gây ra bởi các vòng quay lui vô hạn.

Hãy thử nó

tập thể dục#regex.m5.l3.e1
Nỗ lực: 0Đang tải…

Trích xuất nội dung của mỗi chuỗi giữa các dấu ngoặc kép mà không ghi lại dấu ngoặc kép.

Đang tải trình chỉnh sửa…
Hiển thị gợi ý

Thay thế .+ bằng [^"]+: theo cách này, trận đấu sẽ dừng ở trích dẫn tiếp theo.

Giải pháp khả dụng sau 3 lần thử

Xem lại bài tập

tập thể dục#regex.m5.l3.e2
Nỗ lực: 0Đang tải…

Tìm mọi từ CHỈ được tạo thành từ phụ âm (không có nguyên âm, không có chữ số, không có ký hiệu).

Đang tải trình chỉnh sửa…
Hiển thị gợi ý

Bên trong dấu ngoặc, bạn có thể kết hợp phủ định nguyên âm với \\W (không phải từ) và \\d (chữ số).

Giải pháp khả dụng sau 3 lần thử

Thử thách bổ sung

tập thể dục#regex.m5.l3.e3
Nỗ lực: 0Đang tải…

Khớp các chuỗi của một hoặc nhiều ký tự, loại trừ rõ ràng khoảng trắng và dấu phẩy.

Đang tải trình chỉnh sửa…
Hiển thị gợi ý

Sử dụng [^\\s,] với bộ định lượng +.

Giải pháp khả dụng sau 3 lần thử