Trong các biểu thức thông thường, sự khác biệt giữa [: blank:], [: space:] và \ s-?


7

rxGần đây tôi đã chơi xung quanh và tôi chỉ nhận thấy có (ít nhất) 3 cách khác nhau để biểu thị khoảng trắng trong các biểu thức thông thường.

  1. [:blank:]
  2. [:space:]
  3. \s-

Sự khác biệt giữa mỗi người trong số họ là gì? Có phụ thuộc vào chế độ chính?


3
Emacs nói gì? ([:space:]\s-giống nhau.)C-h i, hướng dẫn Elisp ,C-s [:space].
vẽ

"Chơi xung quanh";)
Sean Allred

Câu trả lời:


7

Lớp [:blank:]nhân vật chỉ khớp với các ký tự SPC và TAB. Hai khoảng trắng khác khớp với nhau dựa trên bảng cú pháp hoạt động.

Dường như không có sự khác biệt giữa [:space:]\s-. Cái sau là một thể hiện của mẫu \ s chung để khớp dựa trên một lớp cú pháp.


1
Chỉ cần thực hiện một thử nghiệm nhanh chóng sửa đổi bảng cú pháp trong bộ đệm để tạo khoảng trắng ký tự bổ sung. Kiểm tra với regexp-buildertôi có thể xác nhận rằng cả hai [:space:]\s-khớp các ký tự bổ sung dưới dạng khoảng trắng.
glucas
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.