Tôi đang cố gắng xây dựng một biểu thức chính quy khớp với các ký hiệu, nghĩa là, những thứ như tên hàm và tương tự, theo các cài đặt chế độ chính hiện tại (nó được gọi là bảng cú pháp nếu tôi nhớ chính xác). Sau một số điều tra, tôi đã tìm thấy các biểu thức hữu ích này:
\_<
phù hợp với sự bắt đầu của một biểu tượng\_>
phù hợp với kết thúc của một biểu tượng
Bây giờ tôi nghĩ rằng tôi cần tìm ra cách thể hiện tính cách cấu thành biểu tượng. Chúng tôi có \w
các ký tự cấu thành từ, nhưng tôi không thể tìm thấy bất cứ thứ gì cho các ký hiệu. Regrec để khớp các biểu tượng nên giống như (giả sử \s
khớp với các ký tự cấu thành biểu tượng):
\_<\s+\_>
Tui bỏ lỡ điều gì vậy? Làm thế nào để phù hợp với các biểu tượng?
Lưu ý rằng kết hợp các từ không phù hợp với tôi. Ví dụ tầm thường là một cái gì đó giống như foo-bar
một biểu tượng trong chế độ Emacs Lisp, nhưng không phải là một từ (vì -
không phải là một ký tự cấu thành từ).
\s
thực sự có nghĩa là gì, vì nó hoàn toàn khác với giả định của bạn.
\s
có ý nghĩa gì trong biểu thức của Emacs, tôi chỉ chọn biểu tượng đó chẳng hạn.
(re-search-forward "\\_<\\(?:\\sw\\|\\s_\\)+\\_>" nil t)
. Nó hoạt động, nhưng tôi tự hỏi nếu có một cách ngắn hơn.